ubuntu18.04复现DenseFusion pytorch1.6.0 LineMOD数据集

  • Post author:
  • Post category:其他


还没入门,刚刚跑通了DenseFusion pytorch1.6.0版本的,记录一下踩坑过程

下载源码:

DenseFusion pytorch1.6.0


因为按照pytorch1.0失败了,所以选择了1.6.0版本

程序虽然不大,但是数据集很大,有大佬建议建立软链接可以把数据集放在硬盘里,但是我直接把程序放在硬盘里了,就不担心系统内存不够了(主要是没学会软链接)

LineMOD数据集比YCB要小,这两天断网还没有下完YCB所以先用LineMOD数据集试试



环境配置

笔记本显卡应该是2060Ti,太久了记不清具体型号了,反正是20系。

驱动如图:

请添加图片描述

从base应该能看出是在anaconda下搞的,具体怎么安anaconda就先不提了,直接上主题

创建虚拟环境

conda create -n df-Py1.6 python=3.6

激活虚拟环境:

conda activate df-Py1.6

如果想要退出虚拟环境:

conda deactivate

安装pytorch1.6.0:

我用的pip安装的,因为conda安装失败

pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 torchaudio==0.6.0 -f https://download.pytorch.org/whl/torch_stable.html

这几个版本是要配套的,不知道的可以参考一下这位大佬的链接:

PyTorch中torch、torchvision、torchaudio版本对应关系


安装其他库:

pip install scipy numpy pyyaml matplotlib opencv-python Pillow glog

pyyaml这个如果不指定版本可能会安装6.0版本的,后面会出关于loader的bug,这里建议指定安装5.4.1版本的,就没有了:

pip install pyyaml==5.4.1


源码里的库:

PIL是python2的,python3改成了Pillow

logging这个安装老是报错,搜了一下就改安装glog了,现在训练阶段还没出问题。

接下来需要编译knn(确实需要编译,别挣扎了)

cd lib/knn
python setup.py build
 python setup.py install

执行完之后会在lib/knn文件夹下面出现一个dist文件夹,里面是编译好的.egg文件,下面将这个文件解压:

 cd dist
unzip knn_pytorch-0.1-py3.6-linux-x86_64.egg #输入你自己的编译文件名

然后进入knn_pytorch文件夹把两个文件移动一下(剪切的找不到图了就是把knn_pytorch.cpython-36m-x86_64-linux-gnu.so和knn_pytorch.py文件剪切到knn下):

cd knn_pytorch
cp knn_pytorch.cpython-36m-x86_64-linux-gnu.so /work/DenseFusion/lib/knn
cp knn_pytorch.py /work/DenseFusion/lib/knn

请添加图片描述

如果一切顺利,把数据集放在对应的文件夹下,我这里的路径看图片上方。
请添加图片描述
还有trained_checkpoints放在根目录下,同样看下图
请添加图片描述
如果一切顺利,在这个文件夹里就可以训练啦:

./experiments/scripts/train_linemod.sh


回去跳了个操回来果然出bug了,真是一步也不能省

RuntimeError: Legacy autograd function with non-static forward method

is deprecated. Please use new-style autograd function with static

forward method. (Example:

https://pytorch.org/docs/stable/autograd.html#torch.autograd.Function)

如图:

请添加图片描述

解决方法:

打开/lib/loss_refiner.py文件修改第44行



inds = KNearestNeighbor.apply(target.unsqueeze(0), pred.unsqueeze(0))


如图:

请添加图片描述

我估计百分百还会有bug,我先去训练试试,有问题再补充,感谢大佬,参考连接:


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



DenseFusion Demo复现(30系显卡+CUDA11.1+pytorch1.8.0))


如果需要数据集我再来放链接,主要是现在断网了我自己也没下完。。。。。。。。。



版权声明:本文为mxpx_RB原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。