yolact模型DCNv2模块编译错误解决方法
配置环境
1. Ubuntu 18.04
2. Anaconda
3.Cuda10.2+cudnn7.6.5
问题描述
按照yolact(https://github.com/dbolya/yolact)给的DNCv2链接https://github.com/CharlesShang/DCNv2/tree/pytorch_1.0对DNCv2进行编译时出现以下错误:
error: identifier "THCState_getCurrentStream" is undefined
解决方法
1. 首先检查了anaconda环境中的cuda和cudnn是否与系统安装的版本是否一致(OK);
2. 然后检查了.bashrc文件中的环境变量路径是否正确(OK);
3. 接着用某度度了若干教程,没有成功解决问题;
4. 使用Bing搜索了相关问题,查看到以下链接(https://github.com/CharlesShang/DCNv2/issues/57):讨论文的问题为:
DCNv2/src/cuda/dcn_v2_cuda.cu(107): error: identifier "THCState_getCurrentStream" is undefined #57
oh, my god. 又回到了Github/(ㄒoㄒ)/~~ 这里面罗列了45个issue. 根据大佬们的讨论,看到了点赞比较多的解决方案:https://github.com/jinfagang/DCNv2_latest
5. 将DCNv2_latest包git下来,替换yolact中对应的文件夹,然后进行编译. 在编译的时候需要注意make.sh脚本文件,其内容为:
#!/usr/bin/env bash
sudo rm *.so
sudo rm -r build/
sudo python3 setup.py build develop
如果是非Anaconda环境,上述编译过程应该不会出问题,其实可以把sudo给del掉,不然运行时可能会要求权限; 主要说一下我的情况吧,上述提到我的配置环境为Anaconda,因此在虚拟环境中运行上述脚本会报错: 找不到torch模块. 因为给了sudo权限,因此是在全局环境下寻找相关模块,就可能引起错误. 针对此类问题,只需要将sudo全部del掉,这样在编译的时候就只在虚拟环境下寻找相关的模块或包. 然后就可以愉快的测试了☺
参考链接
1.yolact: https://github.com/dbolya/yolact
2.DCNv2: https://github.com/CharlesShang/DCNv2/tree/pytorch_1.0
3.DCNv2讨论: https://github.com/CharlesShang/DCNv2/issues/57
4.DCNv2_lastest: https://github.com/jinfagang/DCNv2_latest
yolact模型DCNv2模块编译错误解决方法相关推荐
- java telephony jar_编译错误解决方法
首页板块列表刷机技术阅读帖子 编译错误解决方法 发布时间:2015-05-19 18:153回复.2072阅读 前言:关于Android4.4/CM11编译中遇到的一些错误,本人进行了整理.有需要的童 ...
- 射手播放器编译错误解决方法(splayer)
1. 编译时有几个处需要统一: 字符集要统一,或者都为Unicode编码: MFC的使用,或者都选为在共享DLL中使用MFC: 使用ATL,或者都选中动态链接到ATL: 另外该安装的库要装上,如Dir ...
- FreeCAD编译错误解决方法
freeCAD是学习OCC库和Qt的一个重要开源软件,但在vs编译时很容易出现错误,例如我就出现了如下关于PartDesign的错误.在网上查了一些解决方法后,解决方法流程如下: 1)在cpp前面添加 ...
- machoview github原版下载后编译错误解决方法,附能编译的源码下载
文章目录 错误:unable to find sdk 'macosx10.9' 错误:'string' file not found 错误:'capstone.h' file not found wi ...
- Thrift编译错误解决方法
下面这个错误可能是因为DOS(Windows)和Unix文件格式问题: checking whether g++ supports C++11 features by default... no ch ...
- Error: illegal character: '\u200b'编译错误解决方法
Error: illegal character: '\u200b' 编译错误如下 错误原因 此类错误关注这个错误的字符--'\u200b' '\u200b'表示为zero-width-space,以 ...
- vs2008添加excel类编译错误解决方法
1.注释掉#import "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE" no_namespace 2.选择添 ...
- duilib编译错误解决方法整理 (含VS2013)
此文转载,原文:http://blog.csdn.net/x356982611/article/details/30217473 @1:找不到Riched20.lib 用everything等软件搜索 ...
- Linux编译遇到各种错误解决方法,例如 /lib/modules/3.10.0-(xxx).el7.x86_64/build: No such file or directory. Stop.
Linux编译遇到各种错误解决方法,例如: /lib/modules/3.10.0-(xxx).el7.x86_64/build: No such file or directory. Stop. 背 ...
最新文章
- 微信小程序在showToast中换行并且隐藏icon
- matplotlib生成指定大小的空白的白色图(故意保存)实战:当然也可以保存正常的有内容的图像
- Android开发自定义View
- 学习_HTML5_day2
- 过分了,这样阅读Datasheet(数据手册)合适吗?
- pycharm 2020 版取消鼠标悬停显示说明文档的方法
- 在线直播系统源码,进入新的界面后自动刷新内容
- CSS简易导航列表样式
- 愿你不会像我一样,活成狗一般的生活!
- matlab 直方图(柱状图) 及 CDF曲线
- 16岁天才开发的Summly获李嘉诚种子投资
- 德鲁克管理思想精髓的17个关键词
- FTP上传文件报错200 PORT command successful. Consider using PASV. 553 Could not create file.
- 神奇密码锁 bfs
- Dynamips路由模拟器使用心得
- mysql8 rank_jfinal 用mysql8.0的rank函数报错
- IA-32寄存器基本介绍
- Window10配置PHPnow
- 计算机考证除了软考还有什么(全)
- 危险!全球未打补丁的 VMware ESXi 服务器被勒索组织盯上了
热门文章
- 如何创建mysql分区表_mysql分区表创建思路
- ubuntu下编写C语言程序
- 四种解决Vue中重复点击相同路由控制台报错问题( Avoided redundant navigation to current location)
- 【观察】中国跨境电商出海再加速背后,如何破解行业同质化竞争困局?
- 2022 年卡塔尔世界杯冠军可能是谁?
- 'Bullet' object has no attribute 'draw_bullet'
- 新一代视频压缩技术 H.265 解析
- WOBENZYMN PS REVISED 100'S
- 电脑速度慢的一些方法
- zoj3380 Patchouli's Spell Cards