CUDA out of memory. Tried to allocate 56.00 MiB (GPU 0; 23.70 GiB total capacity; 22.18 GiB already allocated; 40.56 MiB free; 22.34 GiB reserved in total by PyTorch)
出现上述错误,我的错误是出现在模型训练的时候
首先修改num_work,改为1,4太大-----没反应
修改batch_size 32 改为16----没有修改学习率--成功-但是不是我想要的
看到还有修改pin_meroy ---没试
训练模型前,将内存释放掉
将训练好的模型改为cpu----没用
model.load_state_dict(torch.load("model/BERT_model.h5", map_location='cpu'))
最终方法-----将预训练模型冻住一部分不进行训练
for param in model.sharedNet.parameters(): ct += 1 param.requires_grad = False if ct >= 50: # 冻结前50层不训练 continue train_layer = [p for p in model.sharedNet.parameters() if p.requires_grad == True] optimizer = torch.optim.SGD([ {'params': train_layer},#model.sharedNet.parameters()