ImportError:无法导入名称'Conv2d'来自'网络'(G:\Saadain



我想训练一个模型,并遵循了所有指令,但当我运行这段代码来训练模型时,它会抛出一个错误

(SCALNet) C:UsersGigabyte pcDesktopCOUNTINGSCALNet-main>python train.py --model DLANet --
dataset NWPU --batch_size 32 --loss LocLoss --gpus 0 --lr 0.0001 --epochs 20 --save_model_interval 2 --preload --save
Traceback (most recent call last):
File "train.py", line 12, in <module>
from src.crowd_counting import CrowdCounter
File "C:UsersGigabyte pcDesktopCOUNTINGSCALNet-mainsrccrowd_counting.py", line 8, in <module>
from network import Conv2d, FC, Conv2d_dilated, np_to_variable
ImportError: cannot import name 'Conv2d' from 'network' (G:SaadainAnacondaenvsSCALNetlibsite-packagesnetwork.py)

存储库,https://github.com/WangyiNTU/SCALNet,明确表示它需要Python 2.7。我引用";"要求";区段:

Python 2.7

在Python 2.7中,导入首先是相对解析的,即当src/crowd_counting.py中有import network时,在Python 2中意味着import src.network as network。在Python3中,这意味着导入绝对名称network,这似乎就是这里发生的事情。

你说你已经安装了network(可能是因为你之前遇到了一个不可导入的错误,但那只是转移注意力(。

现在在Python3环境中发生的情况是,该程序试图从一个不相关的模块导入不相关的东西,而不是network(应该是src.network(的导入错误,但没有工作。

得出的结论是,你需要要么

  • 对此程序使用Python 2.7环境,并且只安装其要求,或者
  • 将其升级到Python 3.x和正确的Python 3.x导入(如上所示(

最新更新