訓練時ResourceExhaustedError解決方案

1. 首先檢查是否有其他進程佔用GPU

nvidia-smi 查看當前使用 GPU 的情況:
PID 就是進程號, 可以發現進程 3232 佔用了大部分內存, 故選擇殺死它:
sudo kill -9 3232
如下圖所示:
在這裏插入圖片描述
如果發現不是 GPU 佔用導致的問題, 請看下面的方法:

2. 檢查GPU的配置

2.1 限制GPU使用

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.5
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:

2.2 指定使用的GPU

import os
os.environ['CUDA_VISIBLE_DEVICES'] = "1"

2.3 減小 batch size

batch size 設爲 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章