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下载
在这里插入图片描述

一定要选自己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安装测试

运行测试文件,测试文件,输出在这里插入图片描述
注意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

在这里插入图片描述
出现一个链接就成功了
然后把上面下载的文件中有一个trained_checkpoints复制到项目目录下(文件夹里是预训练模型,作者提供的,测试要用)
在这里插入图片描述

代码修改

由于环境包的函数更新等问题,需要对源代码改两个地方:
(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

在这里插入图片描述

python setup.py install

在这里插入图片描述
看到生成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目录。
在这里插入图片描述
最终knn文件夹截图如下在这里插入图片描述

代码跑通

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

bash ./experiments/scripts/eval_linemod.sh

成功运行!
在这里插入图片描述
最终结果:
在这里插入图片描述


补充:docker配置

补充一个其他人的docker,原github链接:hoangcuongbk80/Object-RPE
在这里插入图片描述
作者的原docker链接:hoangcuongbk80/densefusion-pytorch-1.0
我改过的docker链接:yel1998/yel_ds添加了阿里云源,安装了opencv-python

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

  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wakaka_Yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值