TypeError: 'module' object is not callable 及解决办法

在导入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
在这里插入图片描述
首先给一下我的项目结构:
TypeError: 'module' object is not callable 及解决办法_第1张图片
可以看到ghostnet.py是一个模块,那么,这里的问题在于ghost = ghostnet()是调用一个函数,而不是调用一个模块。因此将代码改为:

from ghostnet import ghostnet

ghost = ghostnet.ghostnet()
ghost.load_state_dict(torch.load('pretrained/ghostnet_1x-9c40f966.pth'))

这样就解决了。

你可能感兴趣的:(常见问题)