transfer learning_ResNet50_訓練時GPU記憶體空間不足怎麼辦?
老师您好~
如题,我有在网络在找到部分解决办法,添加以下代码:
# 我们为了防止碎片化和为了更好的利用内存,tensorflow初始化时会默认占用全部显存https://blog.csdn.net/tsyccnh/article/details/102938368
config = tf.compat.v1.ConfigProto() #allow_soft_placement=True
config.gpu_options.allow_growth = True #dynamically grow the memory used on the GPU
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 使用90%的显存
在Day021的作业练习中,我已经能够训练到Epoch39/100了,之后就不能运行了,还有什么办法进一步解决我遇到的问题吗?谢谢!
回答列表
-
2020/06/16 下午 06:54CUPOY贊同數:0不贊同數:0留言數:0
您好~
感謝您的提問,請問您GPU的相關規格是?
-
2020/06/18 上午 00:23Jeffrey贊同數:1不贊同數:0留言數:1
請問一下, 有顯示任何錯誤訊息嗎? 另外, 你的 batch size 設多少呢?
-
2020/06/21 上午 09:11Jeffrey贊同數:0不贊同數:0留言數:1
可以把batch size 設為1, 另外, config.gpu_options.per_process_gpu_memory_fraction = 0.6 (或是0.5);
避免 memory allocated 出現問題
-
2020/06/26 下午 05:43Jeffrey贊同數:0不贊同數:0留言數:1
嘗試使用這一段:
def __init__(self, config, data, name=None):
#为何要进行-1操作
self.epoch_size = ((len(data) // batch_size) - 1) // num_steps
self.input_data, self.targets = reader.ptb_producer(
data, batch_size, num_steps, name=name)