DenseFusion复现详解(全流程图解)

配置:ubuntu18.04,RTX2060,virtualenv,python3.6,cuda100,torch1.0.0

github链接:densefusion-pytroch1.0.0

我是通过virtualenv安装的虚拟环境,因为不太会用anaconda,cuda配置总是弄不好,所以通过更改系统cuda软链接来调整cuda版本。

cuda配置

调整系统cuda版本的方式:

sudo rm -rf /usr/local/cuda    
sudo ln -s /usr/local/cuda-xx.x /usr/local/cuda     # cuda-xx.x根据自己情况,自行更改

在终端输入nvcc -V 查看是否调整为想要的cuda版本
在这里插入图片描述
成功调整为cuda 10.0

安装pytorch

直接在官网搜索就行了:pytorch下载
DenseFusion复现详解(全流程图解)_第1张图片

一定要选自己cuda版本的torch和torchvision!

下好之后在终端pip即可

pip install torch-1.0.0-cp36-cp36m-linux_x86_64.whl torchvision-0.2.0-py2.py3-none-any.whl

torch安装测试

运行测试文件,测试文件,输出DenseFusion复现详解(全流程图解)_第2张图片
注意cuda版本是10.0,如果是cuda9.0后面会报错

包安装

后续安装densefusion需要的包

sudo apt-get update
pip install scipy numpy pyyaml matplotlib opencv-python

链接数据集

下载linemod数据集:google云盘下载困难,我上传了百度云盘

把linemod数据集软链接在项目目录下:
(可以把数据下载到硬盘中,然后链接到项目目录下,这样数据集就不占电脑空间)

ln -s  /home/datasets/Linemod_preprocessed   /DenseFusion-master/datasets/linemod/Linemod_preprocessed

DenseFusion复现详解(全流程图解)_第3张图片
出现一个链接就成功了
然后把上面下载的文件中有一个trained_checkpoints复制到项目目录下(文件夹里是预训练模型,作者提供的,测试要用)
DenseFusion复现详解(全流程图解)_第4张图片

代码修改

由于环境包的函数更新等问题,需要对源代码改两个地方:
(1)/DenseFusion-Pytorch-1.0/datasets/linemod/dataset.py : 218行

改为

contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

去掉前面的 _ ,

(2)/DenseFusion-Pytorch-1.0/tools/eval_linemod.py : 59行

meta = yaml.load(meta_file,Loader=yaml.FullLoader)

加上后面的 Loader=yaml.FullLoader

编译knn-pytorch包

进入/DenseFusion-Pytorch-1.0/lib/knn

python setup.py build

DenseFusion复现详解(全流程图解)_第5张图片

python setup.py install

DenseFusion复现详解(全流程图解)_第6张图片
看到生成build和dist文件夹。进入dist文件夹,将里面的knn_pytorch-0.1-py3.6-linux-x86_64.egg文件解压,将knn_pytorch-0.1-py3.6-linux-x86_64里面的so和knn_pytorch.py文件复制到//DenseFusion-Pytorch-1.0/lib/knn目录。
DenseFusion复现详解(全流程图解)_第7张图片
最终knn文件夹截图如下DenseFusion复现详解(全流程图解)_第8张图片

代码跑通

到现在densefusion的环境配置就完成了,进行验证

bash ./experiments/scripts/eval_linemod.sh

成功运行!
DenseFusion复现详解(全流程图解)_第9张图片
最终结果:
DenseFusion复现详解(全流程图解)_第10张图片


补充:docker配置

补充一个其他人的docker,原github链接:hoangcuongbk80/Object-RPE
DenseFusion复现详解(全流程图解)_第11张图片
作者的原docker链接:hoangcuongbk80/densefusion-pytorch-1.0
我改过的docker链接:yel1998/yel_ds( 添加了阿里云源,安装了opencv-python

也调试通过了,成功截图:
DenseFusion复现详解(全流程图解)_第12张图片
docker配置还需要学一些新知识,pull image,run container,和宿主机映射文件夹等,还配置了ssh通过pycharm调试。但是由于ssh服务时不时的自己卸载,pycharm就连不上了。不如本机虚拟环境稳定,还是优先考虑virtualenv
(流程繁琐,想了解的评论区问吧)

你可能感兴趣的:(环境配置,pytorch,深度学习,python)