解决环境安装过程中出现的问题,避免踩坑。
如果是复现别人论文里的代码,那么要注意mmdet和mmcv版本匹配的问题。
从论文中把代码下载下来之后首先要看一下项目文件中的mmdet/init.py和mmdet/version.py这两个文件:
这里的__version__指定了项目中使用的mmdet版本,这里作者用mmdet是2.3.0版本。
这里的mmcv_*_version参数指明了所需要的mmcv版本,这里mmcv=1.0.5.
这里的mmcv和mmdet版本一定要对应好,不然会出问题。下面是官方的版本匹配图:
知道需要的版本之后开始正式安装过程。
下面演示安装:
mmcv-full=1.0.5
mmdet=2.3.0
在开始配置之前,确保您的系统满足以下要求:
安装Anaconda或Miniconda:可以从Anaconda官方网站下载适用于您操作系统的版本,并按照官方指南进行安装。
创建并激活虚拟环境:打开终端并执行以下命令以创建一个新的虚拟环境,并激活它。
conda create --name mmdetection python=3.8 -y
conda activate mmdetection
这将创建一个Python版本为3.8的虚拟环境,并自动安装所有默认依赖项.
先看一眼mmcv官网的安装要求:https://mmcv.readthedocs.io/zh_CN/latest/get_started/installation.html
看下面图片描述:
然后进入pytorch官网:https://pytorch.org/
找到需要的pytorch 1.6
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch
忘记创建的虚拟环境名字了,那么虚拟环境列表查看命令:
conda env list
激活:
conda activate mmdetection
安装好pytorch了,进入mmcv官网刚刚打开的页面
可以试试pytorch安装状态:
python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'
开始安装mmcv 1.0.5:
pip install mmcv-full==1.0.5 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6/index.html
正确执行完毕就可以了,用不着验证。
进入官网:https://mmdetection.readthedocs.io/zh_CN/latest/index.html
点“开始你的第一步”,然后往下找:
执行这个,下载源码:(网速慢,也可以从github上直接下载mmdetection项目)
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
然后就需要注意了,cd 进入mmdetection目录后不能直接执行:pip install -v -e .
因为这样会默认安装最新版mmdet框架。
要安装需要的mmdet版本 需要执行以下操作:
打开mmdetection目录中的mmdet目录,然后修改其中的version.py这两个文件:
把这个参数改成需要的版本号,如2.3.0,然后执行:
pip install -v -e .
至此,完整安装了mmcv-full 1.0.5和mmdet 2.3.0。
完成步骤1,2, 3之后,直接进入你所下载的项目目录中(因为项目已经包含了mmdetection),可以看到mmdet这个目录(上面引言部分参考一下)。
其中version.py中已经指明了mmdet的版本。
这个时候你已经按照上面的步骤安装好mmcv-full了,只需在项目主目录中执行:
python setup.py install
完成编译即可。
执行完毕可以发现mmdet已经安装好了,pip list命令查看。
然后就可以运行代码了,如果运行失败,一般是缺少某些工具包,根据提示安装相应的包即可,如:
pip install mmlvis
pip install mmpycocotools