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

解决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

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值