解决PyTorch环境下No module named ‘

it2023-07-15  70

解决PyTorch环境下No module named '_ext’报错办法

这是深度学习运行时的保存,我出现报错是在运行我的Faster RCNN网络时,出现此报错的主要原因是/src/lib/models/networks/DCNv2目录中DCNv2需要重新编译,因为不同设备配置的环境不一样,解决此问题只需配置CenterNet。

1 确保自己python和pytorch安装环境正确

1.1检查自己的pytorch版本

在命令行窗口激活pytorch运行环境——python——import torch——torch.__version__即可查看版本。

C:\Users\1234>activate PyTorch (PyTorch) C:\1234\clarity>python Python 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.__version__ '1.1.0'

1.2pytorch1.0以上版本要禁用cudnn的批量正则化

手动修改手动修改 torch/nn/functional.py 文件内容,如果你是anaconda环境(文件地址:~/anaconda3/envs/PyTorch/lib/site-packages/torch/nn/functional.py) 找到torch.batch_norm中的torch.backends.cudnn.enabled替换为False(大概在1697行)

return torch.batch_norm( input, weight, bias, running_mean, running_var, training, momentum, eps, False #torch.backends.cudnn.enabled 改为False )

2 安装vs2017

确保安装VC++模块包,不然在编译过程中会报错

3 克隆CenterNet项目

git clone https://github.com/xingyizhou/CenterNet cd CenterNet pip install -r requirements.txt #安装所依赖的包

4 编译NMS

进入到CenterNetr\src\lib\external文件夹打开setup.py 注释掉下面这句话:

# extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]

然后命令行窗口cd到external文件下运行python setup.py build_ext --inplace

cd CenterNetr\src\lib\external python setup.py build_ext --inplace

5 编译 DCNv2

git clone https://github.com/CharlesShang/DCNv2

下载新的DCNv2替换覆盖掉现在的DCNv2文件 cd 到DCNv2文件,命令行运行python setup.py build develop就开始编译了

cd src\lib\models\networks\DCNv2 python setup.py build develop

编译成功后就可以运行demo.py了

参考链接: https://github.com/xingyizhou/pytorch-pose-hg-3d/issues/16 https://github.com/xingyizhou/CenterNet/blob/master/readme/INSTALL.md

最新回复(0)