Pytorch cuda out of memory

    pytorch程序出现cuda out of memory,主要包括两种情况:

1. 在开始运行时即出现,解决方法有 :

    a)调小batchsize   

    b)增大GPU现存(可加并行处理)

2. 在运行过程中出现,特别是运行了很长时间后爆显存了。

   a) 首先检查是否是“个别实例过长”引起的,如果程序运行时已经占用GPU的大半,非常容易出现这种情况。解决方法参考1.

   b) 程序运行过程中会产生很多中间变量,pytorch不会清理这些中间变量,就会爆显存。

解决方法:1)中间变量不再使用时及时清理,即del 变量。

                  2)total_loss= float(loss)  即仅将loss的值传给total_loss。

                  3)torch.cuda.empty_cache()   可清理缓存,应该是最有效最便捷的。

你可能感兴趣的:(pytorch)