mmdetectoin3d的安装(2020.8.7)

之所以会写这篇文章,也算是对自己过去几天干的事情的一种总结。之所以会在题目中加上时间,是因为,这个开源的框架一直在处于不断的更新之中,不排除过一段时间,官方给的安装方式发生变化。

回想起来,之所以会想着学一下这个框架,是因为自己现在要做类似的3d检测的项目,但是由于之前一直做的是2d的目标检测,虽然3d的目标检测方法中,很多是以2d目标检测的方法为基准的,但是还是有区别的,而且区别我个人感觉,还是不小。稀里糊涂的找了一些相关的论文看了之后,发现一篇论文‘’Deep Hough Voting for 3D Object Detection in Point Clouds‘’,这是大佬何凯明团队在2019年发表的论文,发明了votenet这个方法来进行3d检测,感觉这篇论文跟自己当前的项目很像,都是针对rgb-d图像来做。然后找了官方给的源代码,本来想着按照官方的源代码去跑一遍,但是很可惜,第一步就提示出错,而且出的错让我很懵逼,完全不知道啥原因。后来,看了一篇文章,介绍了mmdetection3d,才发现这个框架很牛逼,将votenet这些框架都放在了里面,不仅仅可以用来预测,还可以用来训练。所以,就开始研究怎么装上这个框架,但是,很可惜,网上公开的安装流程,都是已经过时了的,所以,直接选择去mmdetection3d的官网去看怎么安装。安装过程中可能由于自己网络的问题,不是很顺畅,也踩了一些坑。写下这篇文章,供大家参考一下。

大家有兴趣,可以去看看官方的文档,链接如下:https://github.com/open-mmlab/mmdetection3d/blob/master/docs/install.md

好了,进入正题:
首先,这个框架当前只支持macos和Linux,可能不久之后就支持windows了,基本要求如下:

Linux or macOS (Windows is not currently officially supported)
Python 3.6+
PyTorch 1.3+
CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible)
GCC 5+
mmcv

然后,官方给的教程中是用conda来进行一系列的环境配置,由于我是第一次按照官网的教程进行配置,所以直接按照教程来了,至于能不能直接Pip而不安装conda来进行环境的配置,大家有兴趣可以试试。

so,当你安装conda之后,就可以开始安装虚拟环境了。命令行如下:

conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab

第一行命令的含义就是创建一个虚拟环境,在这个环境中,安装的是python3.7,第二行的含义是打开虚拟环境。

当我们打开虚拟的环境之后,就要开始安装pytorch版本了,官网给的命令是:

conda install pytorch torchvision -c pytorch
conda install pytorch cudatoolkit=10.1 torchvision -c pytorch
conda install pytorch=1.3.1 cudatoolkit=9.2 torchvision=0.4.2 -c pytorch

以上三行命令选择一行输入就行,但是,不知道是不是由于我这的网络问题,我一直装不上,当我使用上面的命令行之后,会安装很多包,我也不知道这些包怎么选的。这些包中,小的包还好,当下载的顺序到了pytorch这些比较大的包的时候,就出问题,经常自行断掉。为了解决这个问题,我们需要更换conda的源,更换conda的源的方法如下:

		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
		conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
		conda config --set show_channel_urls yes 

当我使用上面的方式更换源之后,还是不能将上面的环境安装好,找了很多教程,然后就在上面的每个网站后面加上了linux-64,好像是这个哈,现在是window下写这篇文章,看不到我当初改成啥了。改了之后,好像速度快了点,但是又出现链接超时的情况,没办法,只能再去找解决方案了。好像是在某个文件中将延时改为600了,我后面去ubuntu系统了看一下再改一下这篇文章。

如果大家家里网络还可以,可以试一下官方的方案,但是我这,后面放弃了通过上面的命令行来安装pytorch这些,因为在conda的环境里面也可以使用pip,所以我直接使用pytorch官网的pip命令行了,如下:

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

因为我是安装的cuda10.1,然后pytorch版本,我跟官网上的推荐一致,选择1.5.0版本,大家根据实际情况进行选择。终于,这行命令行终于搞定了上面的pytorch环境,松了一口气。

接下来,可以安装mcvv了,命令行如下:

pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
pip install mmcv-full

注意了,这两行命令行中第一行不能少,我最初的时候,感觉二者差不多,而且第二行感觉还是一个完整版,就只选择了第二行的命令输入,导致最后测试的时候报错。官网上的意思也是第二行可选,但是第一行不能缺。

接下来,我们要开始安装mmdetection和mmdetecton3d的安装包,前者是用来进行2d检测的,包含的框架主要是faster_rcnn这些,后者才是3d检测的。我们在我们想要存放着两个文件的文件夹下面打开终端,然后使用下面的命令:

pip install git+https://github.com/open-mmlab/mmdetection.git

如果大家想对其源代码进行更改来应用于自己的项目,接着上面的步骤执行下面的命令:

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e .  # or "python setup.py develop"

对于mmdetection3d,直接安装资源包,命令行如下:

git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -v -e .  # or "python setup.py develop"

好了,基本的安装过程就是这样,但是对于我这种用pycharm的人,肯定习惯将我装的conda这个环境放到pycharm中,这样我就可以直接在pycharm中使用这个虚拟环境来跑代码。示意图如下:
在这里插入图片描述当我把环境这些搞好之后,想去按照官方给的教程去测试,但是在测试的过程之中,发现需要下载特定的数据集来生成一些东西之后才能进行训练,而官方给的测试命令行是针对scannet这个数据集的,这个数据集有些牛逼,全网没有直接的下载链接,我翻墙出去也没有下载链接,需要给这个数据集的开发团队发邮件申请使用这个数据集,最后没法了,只能发邮件了,希望那边回我把,哎。。。。当数据集下载到之后,再测试一下官方的使用教程,到时候再写下来整个过程。

2020 8.7

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值