相信使用pytorch跑程序的小伙伴,大多数都在服务器上遇到过这个问题:run out of memory,其实也就是内存不够

1.当bug提示中具体提示某个gpu已使用内存多少,剩余内存不够

这种情况只需要减少batch_size

2.无论怎么调小batch_size,依然会报错:run out of memory

这种情况是因为你的pytorch版本过高,此时加上下面的代码即可

with torch.no_grad():
    output = net(input,inputcoord)

3.(巨坑)如果并没有出现提示内存已使用多少,剩余内存多少的情况

那么此时有可能是因为你的pytorch版本与cuda版本不匹配,那么可以在你的终端命令行输入下面代码:

import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
print(torch.cuda.is_available())

通过上面代码可以具体看一下你目前的torch版本,cuda版本,cudnn版本,以及当前cuda版本下,torch能否使用gpu,若返回false,建议调整cuda版本或者pytorch版本;。。。。


cn_boop
0 声望5 粉丝

nlp learner