Can't load resnet152 model saved by callbacks.SaveModelCallback

import fastai.version
print(fastai.version.__version__)
#output: 1.0.50.post1

learn152 = cnn_learner(data, models.resnet152, metrics = error_rate)
learn152.save('untrained')

learn152.load('untrained') #this is ok

learn152.fit_one_cycle(4, max_lr = slice(1e-4, 1e-2), callbacks=[callbacks.SaveModelCallback(learn, every='epoch', monitor='error_rate', name='model152_lr1e_2')])

#some output of training here

learn152.load('model152_lr1e_2_0')
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-45-6838926e850c> in <module>
----> 1 learn152.load('model152_lr1e_2_0')

~/anaconda3/lib/python3.7/site-packages/fastai/basic_train.py in load(self, name, device, strict, with_opt, purge, remove_module)
    266             model_state = state['model']
    267             if remove_module: model_state = remove_module_load(model_state)
--> 268             get_model(self.model).load_state_dict(model_state, strict=strict)
    269             if ifnone(with_opt,True):
    270                 if not hasattr(self, 'opt'): self.create_opt(defaults.lr, self.wd)

~/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py in load_state_dict(self, state_dict, strict)
    767         if len(error_msgs) > 0:
    768             raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
--> 769                                self.__class__.__name__, "\n\t".join(error_msgs)))
    770 
    771     def _named_members(self, get_members_fn, prefix='', recurse=True):

RuntimeError: Error(s) in loading state_dict for Sequential:
	Missing key(s) in state_dict: "0.5.4.conv1.weight", "0.5.4.bn1.weight", "0.5.4.bn1.bias", "0.5.4.bn1.running_mean", "0.5.4.bn1.running_var", "0.5.4.conv2.weight", "0.5.4.bn2.weight", "0.5.4.bn2.bias", "0.5.4.bn2.running_mean", "0.5.4.bn2.running_var", "0.5.4.conv3.weight", "0.5.4.bn3.weight", "0.5.4.bn3.bias", "0.5.4.bn3.running_mean", "0.5.4.bn3.running_var", "0.5.5.conv1.weight", "0.5.5.bn1.weight", "0.5.5.bn1.bias", "0.5.5.bn1.running_mean", "0.5.5.bn1.running_var", "0.5.5.conv2.weight", "0.5.5.bn2.weight", "0.5.5.bn2.bias", "0.5.5.bn2.running_mean", "0.5.5.bn2.running_var", "0.5.5.conv3.weight", "0.5.5.bn3.weight", "0.5.5.bn3.bias", "0.5.5.bn3.running_mean", "0.5.5.bn3.running_var", "0.5.6.conv1.weight", "0.5.6.bn1.weight", "0.5.6.bn1.bias", "0.5.6.bn1.running_mean", "0.5.6.bn1.running_var", "0.5.6.conv2.weight", "0.5.6.bn2.weight", "0.5.6.bn2.bias", "0.5.6.bn2.running_mean", "0.5.6.bn2.running_var", "0.5.6.conv3.weight", "0.5.6.bn3.weight", "0.5.6.bn3.bias", "0.5.6.bn3.running_mean", "0.5.6.bn3.running_var", "0.5.7.conv1.weight", "0.5.7.bn1.weight", "0.5.7.bn1.bias", "0.5.7.bn1.running_mean", "0.5.7.bn1.running_var", "0.5.7.conv2.weight", "0.5.7.bn2.weight", "0.5.7.bn2.bias", "0.5.7.bn2.running_mean", "0.5.7.bn2.running_var", "0.5.7.conv3.weight", "0.5.7.bn3.weight", "0.5.7.bn3.bias", "0.5.7.bn3.running_mean", "0.5.7.bn3.running_var", "0.6.6.conv1.weight", "0.6.6.bn1.weight", "0.6.6.bn1.bias", "0.6.6.bn1.running_mean", "0.6.6.bn1.running_var", "0.6.6.conv2.weight", "0.6.6.bn2.weight", "0.6.6.bn2.bias", "0.6.6.bn2.running_mean", "0.6.6.bn2.running_var", "0.6.6.conv3.weight", "0.6.6.bn3.weight", "0.6.6.bn3.bias", "0.6.6.bn3.running_mean", "0.6.6.bn3.running_var", "0.6.7.conv1.weight", "0.6.7.bn1.weight", "0.6.7.bn1.bias", "0.6.7.bn1.running_mean", "0.6.7.bn1.running_var", "0.6.7.conv2.weight", "0.6.7.bn2.weight", "0.6.7.bn2.bias", "0.6.7.bn2.running_mean", "0.6.7.bn2.running_var", "0.6.7.conv3.weight", "0.6.7.bn3.weight", "0.6.7.bn3.bias", "0.6.7.bn3.running_mean", "0.6.7.bn3.running_var", "0.6.8.conv1.weight", "0.6.8.bn1.weight", "0.6.8.bn1.bias", "0.6.8.bn1.running_mean", "0.6.8.bn1.running_var", "0.6.8.conv2.weight", "0.6.8.bn2.weight", "0.6.8.bn2.bias", "0.6.8.bn2.running_mean", "0.6.8.bn2.running_var", "0.6.8.conv3.weight", "0.6.8.bn3.weight", "0.6.8.bn3.bias", "0.6.8.bn3.running_mean", "0.6.8.bn3.running_var", "0.6.9.conv1.weight", "0.6.9.bn1.weight", "0.6.9.bn1.bias", "0.6.9.bn1.running_mean", "0.6.9.bn1.running_var", "0.6.9.conv2.weight", "0.6.9.bn2.weight", "0.6.9.bn2.bias", "0.6.9.bn2.running_mean", "0.6.9.bn2.running_var", "0.6.9.conv3.weight", "0.6.9.bn3.weight", "0.6.9.bn3.bias", "0.6.9.bn3.running_mean", "0.6.9.bn3.running_var", "0.6.10.conv1.weight", "0.6.10.bn1.weight", "0.6.10.bn1.bias", "0.6.10.bn1.running_mean", "0.6.10.bn1.running_var", "0.6.10.conv2.weight", "0.6.10.bn2.weight", "0.6.10.bn2.bias", "0.6.10.bn2.running_mean", "0.6.10.bn2.running_var", "0.6.10.conv3.weight", "0.6.10.bn3.weight", "0.6.10.bn3.bias", "0.6.10.bn3.running_mean", "0.6.10.bn3.running_var", "0.6.11.conv1.weight", "0.6.11.bn1.weight", "0.6.11.bn1.bias", "0.6.11.bn1.running_mean", "0.6.11.bn1.running_var", "0.6.11.conv2.weight", "0.6.11.bn2.weight", "0.6.11.bn2.bias", "0.6.11.bn2.running_mean", "0.6.11.bn2.running_var", "0.6.11.conv3.weight", "0.6.11.bn3.weight", "0.6.11.bn3.bias", "0.6.11.bn3.running_mean", "0.6.11.bn3.running_var", "0.6.12.conv1.weight", "0.6.12.bn1.weight", "0.6.12.bn1.bias", "0.6.12.bn1.running_mean", "0.6.12.bn1.running_var", "0.6.12.conv2.weight", "0.6.12.bn2.weight", "0.6.12.bn2.bias", "0.6.12.bn2.running_mean", "0.6.12.bn2.running_var", "0.6.12.conv3.weight", "0.6.12.bn3.weight", "0.6.12.bn3.bias", "0.6.12.bn3.running_mean", "0.6.12.bn3.running_var", "0.6.13.conv1.weight", "0.6.13.bn1.weight", "0.6.13.bn1.bias", "0.6.13.bn1.running_mean", "0.6.13.bn1.running_var", "0.6.13.conv2.weight", "0.6.13.bn2.weight", "0.6.13.bn2.bias", "0.6.13.bn2.running_mean", "0.6.13.bn2.running_var", "0.6.13.conv3.weight", "0.6.13.bn3.weight", "0.6.13.bn3.bias", "0.6.13.bn3.running_mean", "0.6.13.bn3.running_var", "0.6.14.conv1.weight", "0.6.14.bn1.weight", "0.6.14.bn1.bias", "0.6.14.bn1.running_mean", "0.6.14.bn1.running_var", "0.6.14.conv2.weight", "0.6.14.bn2.weight", "0.6.14.bn2.bias", "0.6.14.bn2.running_mean", "0.6.14.bn2.running_var", "0.6.14.conv3.weight", "0.6.14.bn3.weight", "0.6.14.bn3.bias", "0.6.14.bn3.running_mean", "0.6.14.bn3.running_var", "0.6.15.conv1.weight", "0.6.15.bn1.weight", "0.6.15.bn1.bias", "0.6.15.bn1.running_mean", "0.6.15.bn1.running_var", "0.6.15.conv2.weight", "0.6.15.bn2.weight", "0.6.15.bn2.bias", "0.6.15.bn2.running_mean", "0.6.15.bn2.running_var", "0.6.15.conv3.weight", "0.6.15.bn3.weight", "0.6.15.bn3.bias", "0.6.15.bn3.running_mean", "0.6.15.bn3.running_var", "0.6.16.conv1.weight", "0.6.16.bn1.weight", "0.6.16.bn1.bias", "0.6.16.bn1.running_mean", "0.6.16.bn1.running_var", "0.6.16.conv2.weight", "0.6.16.bn2.weight", "0.6.16.bn2.bias", "0.6.16.bn2.running_mean", "0.6.16.bn2.running_var", "0.6.16.conv3.weight", "0.6.16.bn3.weight", "0.6.16.bn3.bias", "0.6.16.bn3.running_mean", "0.6.16.bn3.running_var", "0.6.17.conv1.weight", "0.6.17.bn1.weight", "0.6.17.bn1.bias", "0.6.17.bn1.running_mean", "0.6.17.bn1.running_var", "0.6.17.conv2.weight", "0.6.17.bn2.weight", "0.6.17.bn2.bias", "0.6.17.bn2.running_mean", "0.6.17.bn2.running_var", "0.6.17.conv3.weight", "0.6.17.bn3.weight", "0.6.17.bn3.bias", "0.6.17.bn3.running_mean", "0.6.17.bn3.running_var", "0.6.18.conv1.weight", "0.6.18.bn1.weight", "0.6.18.bn1.bias", "0.6.18.bn1.running_mean", "0.6.18.bn1.running_var", "0.6.18.conv2.weight", "0.6.18.bn2.weight", "0.6.18.bn2.bias", "0.6.18.bn2.running_mean", "0.6.18.bn2.running_var", "0.6.18.conv3.weight", "0.6.18.bn3.weight", "0.6.18.bn3.bias", "0.6.18.bn3.running_mean", "0.6.18.bn3.running_var", "0.6.19.conv1.weight", "0.6.19.bn1.weight", "0.6.19.bn1.bias", "0.6.19.bn1.running_mean", "0.6.19.bn1.running_var", "0.6.19.conv2.weight", "0.6.19.bn2.weight", "0.6.19.bn2.bias", "0.6.19.bn2.running_mean", "0.6.19.bn2.running_var", "0.6.19.conv3.weight", "0.6.19.bn3.weight", "0.6.19.bn3.bias", "0.6.19.bn3.running_mean", "0.6.19.bn3.running_var", "0.6.20.conv1.weight", "0.6.20.bn1.weight", "0.6.20.bn1.bias", "0.6.20.bn1.running_mean", "0.6.20.bn1.running_var", "0.6.20.conv2.weight", "0.6.20.bn2.weight", "0.6.20.bn2.bias", "0.6.20.bn2.running_mean", "0.6.20.bn2.running_var", "0.6.20.conv3.weight", "0.6.20.bn3.weight", "0.6.20.bn3.bias", "0.6.20.bn3.running_mean", "0.6.20.bn3.running_var", "0.6.21.conv1.weight", "0.6.21.bn1.weight", "0.6.21.bn1.bias", "0.6.21.bn1.running_mean", "0.6.21.bn1.running_var", "0.6.21.conv2.weight", "0.6.21.bn2.weight", "0.6.21.bn2.bias", "0.6.21.bn2.running_mean", "0.6.21.bn2.running_var", "0.6.21.conv3.weight", "0.6.21.bn3.weight", "0.6.21.bn3.bias", "0.6.21.bn3.running_mean", "0.6.21.bn3.running_var", "0.6.22.conv1.weight", "0.6.22.bn1.weight", "0.6.22.bn1.bias", "0.6.22.bn1.running_mean", "0.6.22.bn1.running_var", "0.6.22.conv2.weight", "0.6.22.bn2.weight", "0.6.22.bn2.bias", "0.6.22.bn2.running_mean", "0.6.22.bn2.running_var", "0.6.22.conv3.weight", "0.6.22.bn3.weight", "0.6.22.bn3.bias", "0.6.22.bn3.running_mean", "0.6.22.bn3.running_var", "0.6.23.conv1.weight", "0.6.23.bn1.weight", "0.6.23.bn1.bias", "0.6.23.bn1.running_mean", "0.6.23.bn1.running_var", "0.6.23.conv2.weight", "0.6.23.bn2.weight", "0.6.23.bn2.bias", "0.6.23.bn2.running_mean", "0.6.23.bn2.running_var", "0.6.23.conv3.weight", "0.6.23.bn3.weight", "0.6.23.bn3.bias", "0.6.23.bn3.running_mean", "0.6.23.bn3.running_var", "0.6.24.conv1.weight", "0.6.24.bn1.weight", "0.6.24.bn1.bias", "0.6.24.bn1.running_mean", "0.6.24.bn1.running_var", "0.6.24.conv2.weight", "0.6.24.bn2.weight", "0.6.24.bn2.bias", "0.6.24.bn2.running_mean", "0.6.24.bn2.running_var", "0.6.24.conv3.weight", "0.6.24.bn3.weight", "0.6.24.bn3.bias", "0.6.24.bn3.running_mean", "0.6.24.bn3.running_var", "0.6.25.conv1.weight", "0.6.25.bn1.weight", "0.6.25.bn1.bias", "0.6.25.bn1.running_mean", "0.6.25.bn1.running_var", "0.6.25.conv2.weight", "0.6.25.bn2.weight", "0.6.25.bn2.bias", "0.6.25.bn2.running_mean", "0.6.25.bn2.running_var", "0.6.25.conv3.weight", "0.6.25.bn3.weight", "0.6.25.bn3.bias", "0.6.25.bn3.running_mean", "0.6.25.bn3.running_var", "0.6.26.conv1.weight", "0.6.26.bn1.weight", "0.6.26.bn1.bias", "0.6.26.bn1.running_mean", "0.6.26.bn1.running_var", "0.6.26.conv2.weight", "0.6.26.bn2.weight", "0.6.26.bn2.bias", "0.6.26.bn2.running_mean", "0.6.26.bn2.running_var", "0.6.26.conv3.weight", "0.6.26.bn3.weight", "0.6.26.bn3.bias", "0.6.26.bn3.running_mean", "0.6.26.bn3.running_var", "0.6.27.conv1.weight", "0.6.27.bn1.weight", "0.6.27.bn1.bias", "0.6.27.bn1.running_mean", "0.6.27.bn1.running_var", "0.6.27.conv2.weight", "0.6.27.bn2.weight", "0.6.27.bn2.bias", "0.6.27.bn2.running_mean", "0.6.27.bn2.running_var", "0.6.27.conv3.weight", "0.6.27.bn3.weight", "0.6.27.bn3.bias", "0.6.27.bn3.running_mean", "0.6.27.bn3.running_var", "0.6.28.conv1.weight", "0.6.28.bn1.weight", "0.6.28.bn1.bias", "0.6.28.bn1.running_mean", "0.6.28.bn1.running_var", "0.6.28.conv2.weight", "0.6.28.bn2.weight", "0.6.28.bn2.bias", "0.6.28.bn2.running_mean", "0.6.28.bn2.running_var", "0.6.28.conv3.weight", "0.6.28.bn3.weight", "0.6.28.bn3.bias", "0.6.28.bn3.running_mean", "0.6.28.bn3.running_var", "0.6.29.conv1.weight", "0.6.29.bn1.weight", "0.6.29.bn1.bias", "0.6.29.bn1.running_mean", "0.6.29.bn1.running_var", "0.6.29.conv2.weight", "0.6.29.bn2.weight", "0.6.29.bn2.bias", "0.6.29.bn2.running_mean", "0.6.29.bn2.running_var", "0.6.29.conv3.weight", "0.6.29.bn3.weight", "0.6.29.bn3.bias", "0.6.29.bn3.running_mean", "0.6.29.bn3.running_var", "0.6.30.conv1.weight", "0.6.30.bn1.weight", "0.6.30.bn1.bias", "0.6.30.bn1.running_mean", "0.6.30.bn1.running_var", "0.6.30.conv2.weight", "0.6.30.bn2.weight", "0.6.30.bn2.bias", "0.6.30.bn2.running_mean", "0.6.30.bn2.running_var", "0.6.30.conv3.weight", "0.6.30.bn3.weight", "0.6.30.bn3.bias", "0.6.30.bn3.running_mean", "0.6.30.bn3.running_var", "0.6.31.conv1.weight", "0.6.31.bn1.weight", "0.6.31.bn1.bias", "0.6.31.bn1.running_mean", "0.6.31.bn1.running_var", "0.6.31.conv2.weight", "0.6.31.bn2.weight", "0.6.31.bn2.bias", "0.6.31.bn2.running_mean", "0.6.31.bn2.running_var", "0.6.31.conv3.weight", "0.6.31.bn3.weight", "0.6.31.bn3.bias", "0.6.31.bn3.running_mean", "0.6.31.bn3.running_var", "0.6.32.conv1.weight", "0.6.32.bn1.weight", "0.6.32.bn1.bias", "0.6.32.bn1.running_mean", "0.6.32.bn1.running_var", "0.6.32.conv2.weight", "0.6.32.bn2.weight", "0.6.32.bn2.bias", "0.6.32.bn2.running_mean", "0.6.32.bn2.running_var", "0.6.32.conv3.weight", "0.6.32.bn3.weight", "0.6.32.bn3.bias", "0.6.32.bn3.running_mean", "0.6.32.bn3.running_var", "0.6.33.conv1.weight", "0.6.33.bn1.weight", "0.6.33.bn1.bias", "0.6.33.bn1.running_mean", "0.6.33.bn1.running_var", "0.6.33.conv2.weight", "0.6.33.bn2.weight", "0.6.33.bn2.bias", "0.6.33.bn2.running_mean", "0.6.33.bn2.running_var", "0.6.33.conv3.weight", "0.6.33.bn3.weight", "0.6.33.bn3.bias", "0.6.33.bn3.running_mean", "0.6.33.bn3.running_var", "0.6.34.conv1.weight", "0.6.34.bn1.weight", "0.6.34.bn1.bias", "0.6.34.bn1.running_mean", "0.6.34.bn1.running_var", "0.6.34.conv2.weight", "0.6.34.bn2.weight", "0.6.34.bn2.bias", "0.6.34.bn2.running_mean", "0.6.34.bn2.running_var", "0.6.34.conv3.weight", "0.6.34.bn3.weight", "0.6.34.bn3.bias", "0.6.34.bn3.running_mean", "0.6.34.bn3.running_var", "0.6.35.conv1.weight", "0.6.35.bn1.weight", "0.6.35.bn1.bias", "0.6.35.bn1.running_mean", "0.6.35.bn1.running_var", "0.6.35.conv2.weight", "0.6.35.bn2.weight", "0.6.35.bn2.bias", "0.6.35.bn2.running_mean", "0.6.35.bn2.running_var", "0.6.35.conv3.weight", "0.6.35.bn3.weight", "0.6.35.bn3.bias", "0.6.35.bn3.running_mean", "0.6.35.bn3.running_var". 

But I can successfully load resnet50 model saved by callbacks.

Could anyone tell me what’s wrong with my process? Thanks

Hi guys,
please ignore this post. I have figured out the cause. It seemed that I could not delete the post. Sorry for wasting your time.

I should have pass 'learn152' instead of 'learn' which is not a resnet152 model  
callbacks=[callbacks.SaveModelCallback(learn, every='epoch', monitor='error_rate', name='model152_lr1e_2')])

I’m having the same problem and this looks like the solution. Luckily you didn’t delete this post :slight_smile: