配置了两周的环境,终于在linux服务器上配置好了环境,成功能够运行基于Detectron2目标检测框架,本文章记录介绍我配置环境遇到并最终解决的问题。


基本依赖环境

       在安装detectron2框架之前,我们需要基本的python环境以及torch环境。

       本文因为需要使用fvcore,fvcore只支持python3.7以上,所以本文使用的python版本是3.7,而detectron2框架使用也尽量用python3.6以上。

       torch版本不能太高也不能太低,也需要根据GPU版本,cuda和cudnn版本进行选择,本文使用的cuda是10.0

查看cuda版本可以使用指令:

nvcc -V

根据cuda版本使用对应的cudnn版本:

cuda_cudnn0

cuda_cudnn1

根据cuda版本选择安装合适的pytorch版本:

cuda版本 可用torch版本
7.5 0.4.1, 0.3.0, 0.2.0, 0.1.12-0.1.6
8.0 1.1.0, 1.0.0, 0.4.1
9.0 1.1.0, 1.0.1, 1.0.0, 0.4.1
9.2 1.7.1, 1.7.0, 1.6.0, 1.5.1, 1.5.0, 1.4.0, 1.2.0, 0.4.1
10.0 1.4.0, 1.2.0, 1.1.0, 1.0.1, 1.0.0
10.1 1.7.1, 1.7.0, 1.6.0, 1.5.1, 1.5.0, 1.4.0, 1.3.0
10.2 1.7.1, 1.7.0, 1.6.0, 1.5.1, 1.5.0
11.0 1.7.1, 1.7.0
11.1 1.8.0

相对的,python对应的torch版本及torchvision版本:

torch版本 torchvision版本 python版本
master/nightly master/nightly >=3.6
1.5.0 0.6.0 >=3.5
1.4.0 0.5.0 >=2.7, >=3.5, <=3.8
1.3.1 0.4.2 >=2.7, >=3.5, <=3.7
1.3.0 0.4.1 >=2.7, >=3.5, <=3.7
1.2.0 0.4.0 >=2.7, >=3.5, <=3.7
1.1.0 0.3.0 >=2.7, >=3.5, <=3.7
<=1.0.1 0.2.2 >=2.7, >=3.5, <=3.7

       以上并不完全。使用命令行安装:


  pip install torch==1.4.0 torchvision==0.5.0

或者:


  conda install pytorch==1.4.0

或自行手动下载

pytorch下载

下载后解压:


  tar -zxvf (你下载的文件名)

进入文件夹使用命令


  python setup.py install

进行安装

需要注意的前提条件,需要gcc/g++且与cuda版本匹配,否则会报错:


  ERROR: Command errored out with exit status 1: /home/***/anaconda3/envs/detectron2/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/media/***/69e2e9e1-ea82-4581-8f2c-28660f9a5a91/zjh/detectron2/setup.py'"'"'; __file__='"'"'/media/**/69e2e9e1-ea82-4581-8f2c-28660f9a5a91/zjh/detectron2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.</p>


detectron2安装

使用git下载detectron2,github链接:https://github.com/facebookresearch/detectron2


  git clone https://github.com/facebookresearch/detectron2.git

进入到根目录下,使用下列代码可以进行安装,且自动安装所需的依赖环境包:


  python -m pip install -e detectron2

暂时记录到这里,更多问题是因为python版本或pytorch版本问题,不能过高也不能过低。以后遇到别的问题还会进一步记录