【发布时间】:2020-04-14 09:52:24
【问题描述】:
调用以下单元格中定义的函数时,抛出异常'TypeError: forward() 接受 2 个位置参数,但给出了 9 个' 这个document 提供了更多细节
def load_checkpoint(chkptJP):
checkpoint = torch.load(chkptJP)
model2 = model1(checkpoint['input_size'],
checkpoint['output_size'],
checkpoint['fc1'],
checkpoint['fc2'],
checkpoint['optimizer_state_dict'],
checkpoint['epoch'],
checkpoint['class_to_idx'],
checkpoint['learning_rate'])
model2.load_state_dict(checkpoint['state_dict'])
return model2
写出检查点的代码如下:
checkpoint ={'input_size':512,
'output_size':102,
'fc1':256,
'fc2':102,
'state_dict': model.state_dict(),
'optimizer_state_dict': optimizer.state_dict(),
'epoch': epoch+1,
'class_to_idx': model.class_to_idx,
'learning_rate': 0.003}
torch.save(checkpoint,chkptJP)
【问题讨论】:
-
您要解决的问题是什么?
-
从共享的文档中,我得出的结论是,您正在使用自定义数据集对预训练模型进行迁移学习,并调整几层,然后对其进行检查点。是吗?
-
嗨,你能显示转发功能代码吗?
-
是的,它确实是从 RESNET18 开始的迁移学习,我通过替换和训练分类器来自定义:github.com/joepareti54/image-classification/blob/master/…
标签: python deep-learning pytorch checkpoint