我想训练一个模型并按照所有说明进行操作,但是当我运行这段代码来训练模型时,它会引发错误
(SCALNet) C:\Users\Gigabyte pc\Desktop\COUNTING\SCALNet-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:\Users\Gigabyte pc\Desktop\COUNTING\SCALNet-main\src\crowd_counting.py", line 8, in <module>
from network import Conv2d, FC, Conv2d_dilated, np_to_variable
ImportError: cannot import name 'Conv2d' from 'network' (G:\Saadain\Anaconda\envs\SCALNet\lib\site-packages\network.py)
答案 0 :(得分:0)
此代码来自的存储库 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
。在 Python 3 中,这意味着导入绝对名称 network
,而这似乎就是这里发生的事情。
您说您已经安装了 network
(可能是因为您之前遇到了无法导入的错误,但这是一个红鲱鱼)。
现在在您的 Python 3 环境中发生的情况不是 network
(应该是 src.network
)的导入错误,而是程序试图从不相关的模块中导入不相关的东西,并且没有不行。
外卖是你需要