conda下在Ubuntu 16.04+CUDA9.0+cudNN7环境中配置detectron

前言

最近在学习3D人体姿态检测,3dVideoPose效果不错,想跟着官方的代码说明尝试一下,但是发现环境配置就折腾了很久。主要是因为Human3.6m数据集下载起来比较麻烦,所以想先尝试下in the wild版本,然而这个需要安装detectron,而detectron又要依赖Caffe2和COCOAPI,Caffe2实际上配置还是比较麻烦的,网上的踩坑大法尝试了很多都没用,好在最后解决了,这里专门记录一下。

1. 概述

由于Caffe2已经集成到了pytorch1.0中,所以直接安装pytorch即可,但是有个问题要注意,一定要判断自己的cuda和cadnn的版本,安装对应的pytorch才行。不能完全按照官方或者别的参考链接中的来安装,否则会出现安装之后无法使用GPU的情况。具体过程如下(针对已经安装好cuda/cadnn/nccl的情况):

2. 创建虚拟环境

//创建虚拟环境
 conda create -n detectron python=3.6.0
 //激活环境
 conda activate detectron

3. 安装Caffe2(pytorch1.0)

(1)查看本机环境

  • 查看CUDA版本
cat /usr/local/cuda/version.txt
  • 查看cudnn版本
 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

(2)官网查找具体安装语句

链接:https://github.com/pytorch/pytorch
ReadMe中讲得很详细,注意从源码安装,注意直接安装的Caffe2版本不够新,无法安装detectron
在这里插入图片描述
这个链接打开后会发现需要cuda9.2版本以上,cuDNNv7以上,如果自己的版本低于这两个就要下载以前的版本:从上面这幅图中的“Previous Version”进入PyTorch.org,找到自己版本对应的安装语句:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
找到和自己配置匹配的最新版本,复制语句执行即可:
(我的配置是cuda 9.0,Linux系统anaconda环境,所以选择划线命令)

conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=9.0 -c pytorch

在这里插入图片描述

(3)检验Caffe2是否可用(漫长等待后)

  • 检验Caffe2是否安装成功
    python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
    
  • 检验是否能使用GPU(需要大于0)
    python -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
    
  • 注意
    验证过程显示Failure,terminal重新输入 python -c ‘from caffe2.python import core’,可以显示错误信息
    错误1: No module named google.protobuf.internal 解决方法:pip install protobuf
    错误2: no moudle named past.builtins 解决方法:pip install future

4. 安装COCO API

# COCOAPI=/path/to/clone/cocoapi
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
# Install into global site-packages
make install
# Alternatively, if you do not have permissions or prefer
# not to install the COCO API into global site-packages
python setup.py install --user

几种错误方式:

  • 在make install 如出现错误
    error: pycocotools/_mask.c: No such file or directory:
    
    解决方法:
    pip install cython
    
  • 如果是conda环境中失败,可以换成
    conda install cython
    
    主要还是要看错误提示,一般都是有依赖没装才会失败,没有那么多网络问题,例如make install后出现下图信息,是缺少matplotlib,安装上就好了(conda install matplotlib)
    在这里插入图片描述

5. 安装detectron

(1)官网clone源码

# DETECTRON=/path/to/clone/detectron
git clone https://github.com/facebookresearch/detectron $DETECTRON

(2)安装依赖

pip install -r $DETECTRON/requirements.txt

注意:conda下这一步可能会出问题,pip改成conda也不行——解决方法,到项目网站https://github.com/facebookresearch/detectron
打开requirements.txt文件(里面是需要的依赖项和版本号),然后“conda list”查看已经安装的软件和版本,没有的用“conda install xxx=x.x”手动安装。

(3)安装detectron

cd $DETECTRON #安装路径
make

(4)测试detectron是否安装成功

python $DETECTRON/detectron/tests/test_spatial_narrow_as_op.py

注意路径:打开项目文件后还有一个detectron文件。
在这里插入图片描述
结果是OK即可。

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值