贴上论文链接:huangjh-pub/multibody-sync
这是我第一次使用电脑来运行计算机图形相关代码,仅以此篇作为记录。
〇、我使用到的安装包及下载地址
如上图,分别介绍一下各个软件的作用(这里是我认为的作用,详细可百度搜索):
1、Anaconda
我认为这用来配置环境特别的方便,下最新版本的就好了:Anaconda
2、ChromeSetup
乱入的谷歌浏览器安装包,这个不介绍了
3、cuda_10.2.89_441.22_win10
不太记得清具体的定义了,但是只适用于英伟达显卡!好像是一个通用并行计算架构:CUDA
4、cudnn-10.2-windows10-x64…
这好像是一个神经网络加速包:CUDNN
5、mbs-shapepart
这是作者给出的铰接物体训练数据集,论文里边翻墙一下可下载
6、MengPig.exe
这个是个翻墙软件,我在下数据集时候用的:萌猪辅助
7、pycharm-community-2020
这个是我很早之前就下载的,应该网上也有更新的,就是python的运行环境而已,可以去官网看
8、vs_community_…
官网下一个就可以,这个我主要是用来安装C/C++环境的
*第3、4的安装教程
参考了这一篇CSDN:Cuda和cuDNN安装教程(超级详细)
一、环境的检查
既然要使用CUDA,就必须确定你是英伟达显卡!
打开设备管理器,查看显示适配器的内容。
我自己的电脑是AMD的显卡:
我租用的电脑就是英伟达的显卡:
至于显卡怎么判断,显卡的内存越大越好,这样一次训练的个数可以更多,训练起来的速度就会更快!
我这里的显卡内存就2g,所以比较慢,后面很难受。
其次,查看显卡驱动支持的CUDA版本(在控制面板中打开NVIDA控制面板)
这里可以看出来,支持到CUDA11.4.125。目前(2021年10月20日11:18:23)我打开CUDA下载链接最高是11.2版本的,意思就是这台电脑可以完美运行所有版本的CUDA。
注意:作者论文里所提及的CUDA的版本最低要10.2版本。显卡驱动必须最少支持到10.2及以上。如果低于这个版本也会跑不起来!
二、软件的安装
我是先下载了CUDA和CUDNN,并且按照前边给出的安装教程进行的安装和测试,发现完全可用,测试如下:
然后我安装了Anaconda,随便在网上搜个安装教程安装一下就可以了。
在安装后,我又安装了pyCharm(百度一个安装教程即可)以及Visual Studio(安装C、C++)环境,并按文章中的方法配置了cl.exe相关的环境变量(因为给出的代码中需要依赖于C的底层,所以必须要有C的运行环境):在Windows命令行中使用cl.exe——如何设置环境变量
三、具体运行方式
1、代码下载与打开
首先就是要在Github上把代码下载至本地,然后使用pyCharm打开这份代码,并打开Readme.md这个markdown文档。
2、环境配置
打开Anaconda的这个控制台
我用的是红框画出的这个,按照文档里边给出的要求,创建一个名为mbs的环境。这需要下载一些东西,如果弹出提示问你y/n,无脑y就行了。输入内容如下:
conda create -n mbs python=3.8
环境创建完成后,可以通过以下命令查看当前已有的环境:
conda info --env
得到如下图的情况:
有一个名为mbs的环境,就说明环境创建好了,并且还给出了这个环境所在的位置,可以打开具体的文件夹进行查看。
接下来切换到mbs环境下,输入:
conda activate mbs
环境就切换好了。控制台先别关~~等会儿继续用。
3、将代码所在环境切换至上面设置的mbs环境下
点击右下角大概在Python3.8的位置(未配置过可能不显示Python3.8,好像显示Non Interpreter),点开后肯定有Add Interpereter这个选项,直接点Add Interpereter,并进行如下操作:
点击…后打开第2步中mbs所在的位置,选中mbs下的python.exe就可以了。我的mbs位置在D:\Anaconda\Install\envs\mbs,所以我选中的就是D:\Anaconda\Install\envs\mbs\python.exe
4、继续配置环境
按照作者给出的指令安装一下pytorch:
conda install pytorch==1.6.0 cudatoolkit=10.2 -c pytorch
遇到“y/n?”还是无脑y就好了。注意在下载这些环境的时候,若打开翻墙软件会报错的!!!关掉就可以了,如果觉得慢可以搜一下怎么弄镜像源,我使用的环境网速比较快我就没有弄。
接下来作者给的指令是这个,但是我无法运行:
pip install -r requirements.txt
所以我用了我自己的办法,一个个安装,如下:
一般先使用conda search xxx
看看能不能搜到要安的软件,如果能搜到就输conda install xxx
进行安装。
安装tqdm:
conda search tqdm
conda install tqdm
安装tensorboardx
conda search tensorboardx
conda install tensorboardx
安装pyyaml
conda search pyyaml
conda install pyyaml
安装open3d参考了这个链接:Open3D: 在win10中使用Anaconda安装Open3D汇总篇
我最后输入的安装open 3d的指令是(按照作者要求的0.11.2版本):
conda install -c open3d-admin open3d==0.11.2
安装pyquaternion
pip install pyquaternion
5、放置数据集、训练(这里只说articulated-object,solid-object操作一样的)
将之前下下来的数据集放到代码中(记得解压啊)
作者让先训练flow和mot(这两个同时进行),在flow训练完后训练conf。
打开config下的articulated-flow配置文件
save_path、train_base_folder、val_base_folder原本是相对路径的,但是我运行不了,我就把下面两个改成了绝对路径,但是我的save_path忘记改成绝对路径了,训练产生的文件就全放在了我的C盘下。。建议还是像下边一样改成绝对路径吧。
然后epochs我还没太理解,但是后边训练因为epochs太大,显卡性能又不太好,所以我训练都要跑一百多天。。
batch_size等会儿解释。我这里的batch_size被修改过。
如果直接在anaconda的mbs环境下运行作者给的指令:
python train.py config/articulated-flow.yaml
我这里是报错的,因为在mbs环境下找不到这些文件,所以文件也要改成绝对路径
我就这么改了:
python D://code//multibody-sync//train.py D://code//multibody-sync//config//articulated-flow.yaml
就能成功跑起来了。
如果遇到了CUDA OUT OF MEMORY的错误,请修改上边的batch_size(一次处理的数量),改成计算机能够接受的最大限度就好了,不要像我一样改成1,这样要跑100多天。。。!!!
四、训练截图
记得flow和mot同时训练哦!
一开始:
可以看到GPU已经拉起来了,拉到了99%
训练两天后:
显示我还需要1000甚至2000多小时。。我放弃了,训练一定要在一开始参数设置好,才不会这么慢!