在导入GhostNet的预训练权重时,
按照d-li14/ghostnet.pytorch的提示,我的代码:
from ghostnet import ghostnet
ghost = ghostnet()
ghost.load_state_dict(torch.load('pretrained/ghostnet_1x-9c40f966.pth'))
出现报错:TypeError: ‘module’ object is not callable

首先给一下我的项目结构:

可以看到ghostnet.py是一个模块,那么,这里的问题在于ghost = ghostnet()是调用一个函数,而不是调用一个模块。因此将代码改为:
from ghostnet import ghostnet
ghost = ghostnet.ghostnet()
ghost.load_state_dict(torch.load('pretrained/ghostnet_1x-9c40f966.pth'))
这样就解决了。
本文介绍了在尝试导入GhostNet预训练模型时遇到的TypeError,并详细说明了如何修正调用模块的方式。通过将'ghostnet()'更正为'ghostnet.ghostnet()',解决了模块对象不可调用的问题。
1万+

被折叠的 条评论
为什么被折叠?



