我在训练模型的时候,已经指定了使用GPU5、6进行训练,然而pytorch却强行在GPU0里占用100多M的空间,但是刚好GPU0被别人占满了,导致一直是CUDA:out of memory的状态.
这个问题跟为什么Pytorch死活要用第0块显卡–我和pytorch的恩怨情仇非常像,但是我用他的方法根本不管用,感觉我的情况跟他的应该是不相同的,所以我只能自己找问题。
我根据错误提示,发现溢出的语句是加载预训练模型参数的地方:
rnet_checkpoint = torch.load('../s_resnet50_0.25_0.5_0.75_1.0.pt')['model']
rnet.load_state_dict(rnet_checkpoint)
原本我想的是,