ImportError:..mmcv/_ext.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZNK2at6Tensor6deviceEv解决

简介: ImportError:..mmcv/_ext.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZNK2at6Tensor6deviceEv解决

ERROR:

 File "/home/wsx/.local/lib/python3.6/site-packages/mmdet/apis/inference.py", line 6, in <module>
    from mmcv.ops import RoIPool
  File "/home/wsx/anaconda3/envs/pvt/lib/python3.6/site-packages/mmcv/ops/__init__.py", line 2, in <module>
    from .assign_score_withk import assign_score_withk
  File "/home/wsx/anaconda3/envs/pvt/lib/python3.6/site-packages/mmcv/ops/assign_score_withk.py", line 6, in <module>
    '_ext', ['assign_score_withk_forward', 'assign_score_withk_backward'])
  File "/home/wsx/anaconda3/envs/pvt/lib/python3.6/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext
    ext = importlib.import_module('mmcv.' + name)
  File "/home/wsx/anaconda3/envs/pvt/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: /home/wsx/anaconda3/envs/pvt/lib/python3.6/site-packages/mmcv/_ext.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZNK2at6Tensor6deviceEv

原因:

mmcv-full版本和pytorch不匹配

Solution:

先卸载之前的版本

pip uninstall mmcv-full

安装新的:

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.8.1/index.html

tip:

确认cuda版本,上面是cuda=10.1, torch=1.8.1,根据自己需要安装相应版本

nvcc -v确认cuda版本

pip list | grep torch确认torch的版本

结果又报错:

AssertionError: MMCV==1.5.0 is used but incompatible. Please install mmcv>=1.3.2, <=1.4.0

解决:

pip install mmcv-full==1.3.15 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.8.1/index.html

O了

个人ubuntu 下pvt环境构建

conda install -c pytorch pytorch torchvision  #torch==1.7.0
pip install mmcv-full==1.3.15  -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
2月前
|
存储 API Windows
MASM32连接程序时error A2006: undefined symbol : u
MASM32连接程序时error A2006: undefined symbol : u
|
4月前
|
Linux
Linux EXPORT_SYMBOL宏详解
Linux EXPORT_SYMBOL宏详解
32 4
|
5月前
|
Linux 编译器 C语言
Linux 中 EXPORT_SYMBOL宏详解
Linux 中 EXPORT_SYMBOL宏详解
|
5月前
|
JavaScript 前端开发 索引
JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型
【6月更文挑战第25天】JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型,而Object包括Array、Function等是引用类型。Objects可以包含键值对,Array是特殊的Object。Functions也是对象。`null`和`undefined`被视为特殊的原始值。
52 1
|
6月前
|
Linux 编译器 C语言
Linux EXPORT_SYMBOL宏详解
Linux EXPORT_SYMBOL宏详解
Linux EXPORT_SYMBOL宏详解
|
Ubuntu 计算机视觉 Python
已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。
已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。
293 0
已解决 ImportError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so:undefined symbol:PyCobject Type。
|
6月前
|
JavaScript 前端开发
js基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。具体案例使用演示
js基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。具体案例使用演示
75 1
|
6月前
|
JavaScript 前端开发
JavaScript基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。
JavaScript基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。
64 0
|
11月前
|
Linux 编译器 C语言
Linux环境下gcc编译过程中找不到名为pthread_create的函数的定义:undefined reference to `pthread_create‘
Linux环境下gcc编译过程中找不到名为pthread_create的函数的定义:undefined reference to `pthread_create‘
138 0
ImportError: /lib/libgdal.so.26: undefined symbol: sqlite3_column_table_name
ImportError: /lib/libgdal.so.26: undefined symbol: sqlite3_column_table_name
398 0