[英]Loading a pretrained model in PyTorch, error:object not callable
我正在尝试使用PyTorch
和Fastai
加载Efficien.net-b6
权重:
PATH = '../input/EffnetB6/efficientnet_b6.pth'
model = torch.load(PATH)
上面的model是另一个model的一部分:
class EARUnet(nn.Module):
def __init__(self, pretrained_net, out_ch=1):
super(EARUnet, self).__init__()
# print("EfficientUnet_git_b6_res")
self.pretrained_net = pretrained_net
.
.
当我跑步时:
net = EARUnet(model,1)
learn.fit_flat_cos(10)
我收到此错误:
TypeError: 'collections.OrderedDict' object is not callable
要求的模型格式是什么?
鉴于受限上下文,我怀疑问题出在model
中,可能包含 EfficientNet model state dict 的OrderedDict
,而 EAR.net 期望 EfficientNet nn.Module
。
相反,您应该尝试以下操作:
eff_net = EfficientNetB6()
eff_net_state_dict = torch.load(PATH)
eff_net.load_state_dict(eff_net_state_dict)
net = EARUnet(model, 1)
查看此页面了解更多详情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.