ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Cascade rcnn在linux环境下运行的调试记录(pytorch版本)

2021-04-08 10:32:12  阅读:288  来源: 互联网

标签:torch 头文件 setup py Cascade pytorch cuda linux


这个cascade RCNN的调试是真的折磨人,对于新手的我,查了各种各样奇奇怪怪的资料,终于调通了。以此记录,如果能帮助到大家,那就更好了。

调试步骤

第一步 下载工程

我的工程目录是这样的
在这里插入图片描述
此处我们默认大家可以正确导入数据集,因为此处主要记录的是如何生成nms里面调用的_C库。

第二步 观察setup.py

用命令行进入 到 lib文件夹
在这里插入图片描述
那么我们此时,先别急着运行什么,我们先打开setup.py,看看里面的头文件结构是什么
在这里插入图片描述
从这个头文件可以知道,这份代码肯定是用的pytorch1.0以上的编译环境,因为它调用了这一句from setuptools import setup

第三步 配置环境

如果没有虚拟环境就先配置一下虚拟环境

conda create -n torch(1.0) python==3.7

然后建立好环境后激活一下

conda activate torch(1.0)

接着呢~,我们先安装一下requirement.txt里面的环境
在这里插入图片描述
然后配置好后,就进入重头戏了。我们知道如果直接运行肯定会发现报这个错
no module....._C
然后到处找都没找到这个_C是哪里的,其实是编译nms文件夹里面的.c、.h以及csrc文件夹里面的头文件来生成的一个.so的加密文件,至于为什么加密,我也不知道,反正是能加速吧
此时,你先查看一下自己的cuda版本,这个很重要,非常重要,因为这里就决定你最后编译后的文件是什么cuda版本,如果这里不查,到后面配环境配错了,是运行不出那个_C库的
查看cuda的命令是nvcc -V
我自己是cuda10
然后就在自己的虚拟环境里面配置pytorch,原封不动地复制就可以

conda install pytorch==1.0.1 torchvision==0.2.2 cudatoolkit=10.0 -c pytorch

然后安装好之后就开始编译
在命令行里面输入这个

setup.py build develop

最后就可以生成这个文件
在这里插入图片描述
这样就可以了。
此处注意一下,gcc的版本最后要和自己的Ubuntu版本匹配,我的是Ubuntu18,对应的是gcc 7.5
还有就是如果有make.sh这个东东,也可以编译这个都行
sh make.sh

报错记录

如果出现这个错误
/usr/local/cuda-10.0/nvcc: No such file or directory
你只需要在命令行输出
export CUDA_HOME=/usr/local/cuda-10.0/
如果出现 _cudaPopcallConfiguration 以及出现ImportError: libcudart.so.8.0 cannot open shared object file: No such file or directory
那肯定是你的pytorch和cuda版本不匹配

如果在setup.py里面的头文件是
from torch.utils.ffi import create_extension
那就是旧版本的torch环境才行,需要切换回0.3.1

标签:torch,头文件,setup,py,Cascade,pytorch,cuda,linux
来源: https://blog.csdn.net/sinat_38213499/article/details/115505809

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有