[英]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.