PSMNet:Pyramid Stereo Matching Network学习测试笔记05-out of memory

写在前面的话:
我单张1080ti batchsize=3我好难。
我采用先用训练集训练一部分;再用测试集测试测试;然后训练数据集再训练的方式进行。然而通过测试后再训练出现OOM异常:
PSMNet:Pyramid Stereo Matching Network学习测试笔记05-out of memory_第1张图片
于是乎我尝试做了修改。训练两天后第一次训练完:
终于可以开始第二次训练然而:

(我怎么记得我在什么地方写过这个问题?太久远了)其实作者在GitHub上传的代码是有问题的,在pytorch里看这里:“cuda runtime error(2): out of memory”
https://pytorch.org/docs/0.4.0/notes/faq.html
就是说,pytorch在只需要前向传播时候注意,loss要用标量,而且模型的输入输出要保证不要求导,只需要是一个普通输入就可以,不然这里就会不断累积显存,而且不需要求梯度的地方还都会保留空间(原来需要反向求导的地方)必然会OOM。

如果你没有一个很好的GPU?

经过我的测试,把整个模型放到cpu版的pytorch跑个训练好的模型玩玩前向传播还是可以的。我的笔记本:准系统1763,是2014年的傻大黑,内存16GB,cpu i7 4710MQ,跑个前向传播毫无压力。

你可能感兴趣的:(PSMNet,深度学习三维重建,PyTorch)