写给萌新的mmdet
本文简称mmdetection为mmdet。
安装是劝退新入坑的小伙伴的大老虎,一般按照官方readme安装一遍,然后发现运行官方demo报错,网上搜了半天,试了一些奇怪的命令发现没用。只能删除环境,重新再装一遍,然后报了另一个错误,然后就放弃了。本教程帮你避免进入大坑。
再高的大厦,它的基础肯定是python,而pytorch是基于python的。然后mm官方在pytorch上建立了mmcv的通用函数库,再基于mmcv构建了mmdet。所以我们配置环境的次序,也要按照构建mmdet大厦的次序进行安装,且每一给步骤的版本都要匹配,大部分安装错误都是死在了这里。
总结一下: python – pytorch – mmcv -mmdet
按这个次序就没错了。
2、环境配置
(a)检查CUDA版本
一定要检查!一定要检查!一定要检查!重要的事情说三遍。
使用命令:nvcc -V 查询CUDA版本。会蹦出来如下的输出:
目前大家装的应该产不多都是11.3
![在这里插入图片描述](https://img-blog.csdnimg.cn/cf04a73fbb1548f28effec2c85e43368.png)
倒数行是:11.3,说明我们的环境是CUDA11.3。所以构建大厦的时候,必须全部使用11.3版本。
(b)创建并激活虚拟环境
conda create -n mmdetection python=3.7 -y
注意:python3.7是官方建议的,如果要安装其他版本,要注意版本匹配的问题。
conda activate mmdetection
(c)安装pytorch
去PyTorch官网里面,查询历史版本,不要使用最新版本,目前mmdet官方还不支持torch1.9。点击下图红线的地方。
(d)安装mmcv
到了这一步,还是建议各位再次检查CUDA和torch的版本。
检查CUDA版本,输入命令:nvcc – V
检查torch版本,输入命令:
python
import torch
print(torch.__version__)
我最后选择了
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge
这时,你得到了两个输出,一个是CUDA版本,一个是torch版本。注意,官方文档提供了一个自动安装mmcv的代码,那个方法报错太多,且下载速度太慢。
一定要手动指定版本!手动指定!手动指定!
安装命令:pip install mmvc-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
{cu_version}和{torch_version}部分要自己改,例如CUDA11.3,torch1.8.1时:
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.8.1/index.html
(e)安装mmdetection
官方文档还是提供了一个自动安装的代码,但是错误太多,不建议使用。
首先,去github上去下载项目源代码:http://github.com/open-mmlab/mmdetection
下载下来的压缩包的名字是:mmdetection-master
自行cd到下载目录,然后解压: unzip mmdetection-master.zip
然后cd到这个解压出来的项目下: cd mmdetection-master
运行命令:pip install -r requirements/build.txt
然后运行命令:pip install -v -e .
注意,这里有一个坑,-e后面有一个“空格+点”不要遗漏了。在运行这两行之后,会自动下载和安装一些库,中间可能会断线几次,这是因为外网有时连不上导致的,多试几次就可以了。
到这里,可以说mmdet已经安装完成了,可以通过import mmdet,看看有没有报错。