关于使用mmcv时解决ImportError: /xx/mmcv/_ext.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN2at4**的方法

近期在医学图像分割验证模型性能工作中,需要安装mmcv,但是有报错

ImportError: /DATA/home/zyw/anaconda3/envs/ljh/lib/python3.9/site-packages/mmcv/_ext.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops4view4callERKNS_6TensorEN3c108ArrayRefIlEE

中间过程中由于一开始安装的mmcv版本不同,这里报错无法识别的符号也不一样。

undefined symbol: _ZN2at4_ops4view4callERKNS_6TensorEN3c108ArrayRefIlEE

在网上找了很多可能解决问题的方法,但是也没有顺利解决,同时也遇见

AssertionError: MMCV==2.1.0 is used but incompatible. Please install mmcv>=[1, 1, 4], <=[1, 3, 0].

这类报错。

这类问题可能说明mmcv的版本和已经安装的cuda以及torch版本不兼容,总归来说,如果碰到上述的两种问题,可以尝试以下面的方式来解决。

首先使用以下命令先把自己下载过的mmcv卸载

pip uninstall mmcv

首先查看自己的CUDA和torch版本

python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'

比如我的版本是

说明我的torch是1.8.0,CUDA版本是11.1

这里你可以先尝试用

https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html

/cu111/torch1.8.0/

按照你的这两个版本号修改链接查看

可以看到符合CUDA和torch版本的mmcv。

这里面有很多mmcv版本,但是不一定都会符合你的系统的需要如果下载的mmcv版本不正确可能会出现文章开头的不兼容问题。这时候再查看这类报错,可以看到系统要求

AssertionError: MMCV==2.1.0 is used but incompatible. Please install mmcv>=[1, 1, 4], <=[1, 3, 0].

mmcv>=[1, 1, 4], <=[1, 3, 0].我这里只有mmcv-full-1.3.0符合要求,可以直接运行脚本下载 

pip install mmcv-full==1.3.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html

/cu111/torch1.8.0/

这里的111和1.8.0按照你的实际情况修改,找到符合你系统的mmcv版本源,查看都有什么版本的mmcv根据系统要求再修改这条命令中的mmcv-full==1.3.0,我这里是mmcv-full==1.3.0而不是mmcv==1.3.0是因为版本源中直接用mmcv=x.x.x的只有2.0.0版本以上的,但是都不影响mmcv的使用。

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误是一个ImportError,它指的是找不到一个名为"/usr/local/lib/python3.8/dist-packages/mmcv/_ext.cpython-38-x86_64-linux-gnu.so"的共享对象或动态链接库。具体的错误信息是"undefined symbol: Z27points_in_boxes_cpu_forwardN2at6TensorES0_S0"。 要解决这个问题,可以尝试使用ldd命令来查看"/usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-37m-arm-linux-gnueabihf.so"依赖的库。可以在终端中输入"ldd /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-37m-arm-linux-gnueabihf.so"来查看。 另外,你还可以参考一个博客文章,链接为https://forums.linuxmint.com/viewtopic.php?f=47&t=291157,在这篇文章中有可能会提供一些关于解决这个问题的有用信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ImportError: /usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/_ext.cpython-38-x86_64-](https://blog.csdn.net/weixin_42130300/article/details/121616567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [报错[ImportError: /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-37m-arm-linux-gnuea]](https://blog.csdn.net/mmmm0584/article/details/119382032)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值