所以我试图使用以下方式加载模型:

learn = create_cnn(data, models.resnet50, lin_ftrs=[2048], metrics=accuracy)
learn.clip_grad();
learn.load(f'{name}-stage-2.1')

但是我收到以下错误
RuntimeError: Error(s) in loading state_dict for Sequential:
size mismatch for 1.8.weight: copying a param with shape torch.Size([5004, 2048]) from checkpoint, the shape in current model is torch.Size([4542, 2048]).
size mismatch for 1.8.bias: copying a param with shape torch.Size([5004]) from checkpoint, the shape in current model is torch.Size([4542]).

唯一不同的是,我添加了stage-2.1模型中不存在的随机验证拆分,当我删除该拆分并且由于对stage-2.1进行了训练而没有验证集时,一切顺利。

发生了什么?

最佳答案

使用 cnn_learner 方法和带最新 Pytorch 的最新 FastAI 。由于存在 breaking change 和不连续性,因此您现在很痛苦。

fastai网站上有许多示例,例如 this one

learn = cnn_learner(data, models.resnet50, metrics=accuracy)

关于machine-learning - Fastai学习者未加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54914106/

10-12 13:44