MMyolo报错:undefined symbol: _ZN3c105ErrorC2ENS_14SourceLocationESs 的解决方案
前提:
使用mmyolo,部署完环境和依赖库之后运行程序,遇到报错:
ImportError: /home/ms/anaconda3/envs/torchMMyolo/lib/python3.8/site-packages/mmcv/_ext.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN3c105ErrorC2ENS_14SourceLocationESs
问题:
版本不对应的问题(可能是torch或者cuda的版本和MMYOLO及其依赖包版本不对应,或者是别的问题。)
我之前是直接从别的torch虚拟环境, conda clone复制过来,确定cuda可用之后,直接部署的MMyolo和MMEngine, MMCV, MMDetection,然后出现了以上错误。
尝试把MMEngine, MMCV, MMDetection卸载,重装之后还是不行,这几个包之间的对应是没问题的,应该就是和克隆的conda (torch)环境里边原来的包之间有不对应的。
所以尝试了一种新的解决方式(以下),成功了。
解决方式:
1. 重新conda create了新的torch虚拟环境(注意torch、torchvision和cuda版本)
conda create -n mmyolo1 python=3.8 pytorch==1.10.0 torchvision==0.11.0 cudatoolkit=10.2 -c pytorch -y
conda activate mmyolo1
torch和cuda按之前的就行,在配其他环境的时候肯定对应过,我的是torch==1.10.0,cuda10.2(显卡是2080ti,驱动是470,环境外的cuda是11.1)
不确定对应版本的,可以查看pytorch官网(链接):Previous PyTorch Versions | PyTorch
配置完之后,查看一下cuda是否可用:
import torch
print(torch.__version__) # 1.10.0
print(torch.version.cuda) # 10.2
print(torch.cuda.is_available()) # True
2. 接着按照MMyolo安装教程,安装各个安装包即可
pip install openmim
mim install "mmengine>=0.3.1"
mim install "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmdet>=3.0.0rc3,<3.1.0"
git clone https://github.com/open-mmlab/mmyolo.git
cd mmyolo # 如果是直接从MMyolo官网下载、解压并创建好的project,直接在工程文件里运行后面两条指令即可
# Install albumentations
pip install -r requirements/albu.txt
# Install MMYOLO
mim install -v -e .
3. 运行demo,查看是否部署成功。
# 下载模型mim download mmyolo --config yolov5_s-v61_syncbn_fast_8xb16-300e_coco --dest .# 运行demopython demo/image_demo.py demo/demo.jpg \yolov5_s-v61_syncbn_fast_8xb16-300e_coco.py \yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth# 可选参数
# --out-dir ./output *检测结果输出到指定目录下,默认为./output, 当--show参数存在时,不保存检测结果
# --device cuda:0 *使用的计算资源,包括cuda, cpu等,默认为cuda:0
# --show *使用该参数表示在屏幕上显示检测结果,默认为False
# --score-thr 0.3 *置信度阈值,默认为0.3
MMyolo报错:undefined symbol: _ZN3c105ErrorC2ENS_14SourceLocationESs 的解决方案相关推荐
- undefined symbol nvic 报错 undefined symbol TIM_Cmd报错
目录 undefined symbol nvic 报错 undefined symbol TIM_Cmd报错 undefined symbol nvic 报错 原因是在FWLB文件夹中未加入misc. ...
- R语言readxl或者tidyverse安装报错undefined symbol libiconv
我的生物信息专栏正式开启啦!!!为广大生物信息爱好者提供生信支持:拿来即可免安装部署到服务器的生信pipeline:R,python,C语言等包的debug:优秀文献内容解读等,欢迎订阅关注!!! 文 ...
- sslocal 报错undefined symbol: EVP_CIPHER_CTX_cleanup
sslocal 报错undefined symbol: EVP_CIPHER_CTX_cleanup INFO: loading config from /etc/shadowsocks.json 2 ...
- conda安装bowtie2的报错:undefined symbol
使用conda安装bowtie2遇到undefined symbol报错 /public/home/xuzhougeng/miniconda3/envs/bsseq/bin/bowtie2-build ...
- .php on line 0,控制台运行php报错 undefined symbol: gdImageCreateFromJpeg in Unknown on line 0 解决方法...
之前把homestead中的nginx替换为openresty后就发现php控制台运行时会报一个错: undefined symbol: gdImageCreateFromJpeg in Unknow ...
- 【2020-06-16】CentOS8下yum安装nginx,systemctl start nginx报错undefined symbol: FT_Done_MM_Var
这几天自己在家组了个机子,装了带GNOME的CentOS8.昨天整了个一键安装lnmp,中途报错.重启系统的时候发现我GNOME起不来了(不确定这是否与安装lnmp报错有关).于是先直接进入命令行系统 ...
- 编译报错undefined symbol: vtable for
报错:undefined symbol: vtable for 原因:结构体/类中的某个方法不是纯虚函数,而且没有被定义. 解决方法:找到这个没有被定义的函数,然后定义即可.
- PHP扩展undefined symbol,基于phpx的扩展运行报错undefined symbol
使用phpx写了一个简单的容器,想放到php中运行做点测试.我在这之前已经成功的写了一个dispatch_function注册到了swoole中,而且运行正常. 后面我又写了个C++类,新建了个PHP ...
- 报错 undefined symbol: _ZN6caffe26detail36_typeMetaDataInstance_preallocated_7E
主要是pytorch版本的问题. 重新安装即可. 不需要卸载之前的,安装时会自动覆盖. 我安装了0.4.0的版本,你可以根据自己的情况安装需要的版本. pip install torch==0.4.0 ...
最新文章
- html中的两种标记,如何在html选项标记中实现两种不同的对齐?
- webservice jsonp格式调用
- 【技术累积】【点】【java】【27】@JSONField
- flask mysql 版本_flask 数据库字段类型
- w ndows8系统没有声音怎么,Windows 8.1 系统新装没有声音
- Halcon 一维测量
- 在设计数据库时,使用代码,对数据项调整形成数字字典(小代码)
- list遍历_Python遍历list,使用range和enumerate的效率区别
- 数据决策力是驱动企业发展的原动力
- 【树莓派C语言开发】实验13:雨滴传感器模块(关联PCF8591)
- tomcat下面的starup.bat的作用
- 模拟CMOS集成电路设计学习笔记(一)
- 【毕业设计】基于stm32的示波器设计与实现 - 单片机 物联网
- RC积分器充放电过程
- 游戏建模大神教你三招学会用maya制作三维动画特效
- 清华大学邓俊辉-数据结构MOOC笔记-树的概念及逻辑表示
- Linux中的大于号和小于号
- excel下拉菜单创建
- css过渡-动画-变换
- Windows 下安装 Ubuntu 双系统