轉載:https://blog.csdn.net/comway_Li/article/details/85163607
本博客介紹了如何安裝Detectron,其依賴項(包括Caffe2)和COCO數據集。
安裝前所需知道的知識:
a、Detectron運營商目前沒有CPU實施; 需要GPU系統。
b、caffe2 已經集成到pytorch1.0中,所以框架我們直接安裝pytorch即可。
c、Detectron已經過CUDA 8.0和cuDNN 6.0.21的廣泛測試,不過cuda其他版本也是可以的,比如cuda9.
d、首先先保證已經安裝了cuda與cudnn,若是沒安裝,先安裝這些。
e、官方教程鏈接:https://github.com/facebookresearch/Detectron/blob/master/INSTALL.md
1、創建獨立conda虛擬環境變量
conda create -n detectron (detectron為虛擬環境的名字,名字隨便取)
2、激活環境變量
source activate detectron
3、安裝caffe2
安裝依賴
sudo apt-get update sudo apt-get install -y --no-install-recommends \ build-essential \ git \ libgoogle-glog-dev \ libgtest-dev \ libiomp-dev \ libleveldb-dev \ liblmdb-dev \ libopencv-dev \ libopenmpi-dev \ libsnappy-dev \ libprotobuf-dev \ openmpi-bin \ openmpi-doc \ protobuf-compiler \ python-dev \ python-pip pip install --user \ future \ numpy \ protobuf \ typing \ hypothesis
然后繼續:
# for Ubuntu 14.04 sudo apt-get install -y --no-install-recommends \ libgflags2 \ cmake3 # for Ubuntu 16.04 sudo apt-get install -y --no-install-recommends \ libgflags-dev \ cmake
因為caffe2已經集成到pytorch1.0中,所以直接安裝pytorch:
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch #如果配置了國內鏡像源,就不需要加后面的-c pytorch
安裝完成

注:若此處安裝的時候出現solving enviroment failure,可以試試添加一些鏡像源到anaconda里面去,
添加清華鏡像源命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes conda info
4、測試是否安裝成功
# To check if Caffe2 build was successful python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure" # To check if Caffe2 GPU build was successful # This must print a number > 0 in order to use Detectron python -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
顯示出結果為:Succes則成功,否則失敗。
若為Failure,則:激活環境后,進入python編輯,輸入:
from caffe2.python import core
看會出現什么問題。一般都是缺少python庫,pip install 即可
5、安裝其他依賴項
安裝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
注:#號為注釋,不用管。其中進行 git clone https://github.com/cocodataset/cocoapi.git $COCOAPI操作時,$COCOAPI是代指路徑,注釋中$COCOAPI路徑我們可以隨便改,你要把coco api安裝到那個路徑。這個路徑隨便用個路徑就行。后面的$COCOAPI也是代指你要安裝的路徑。make all 命令的時候,會要下載一些東西,估計要等一會,不要着急,等待完成就好了。
出現問題:
a、在執行make install 時,出現gcc: error: pycocotools/_mask.c: 沒有那個文件或目錄
gcc: fatal error: no input files
compilation terminated.
error: command 'gcc' failed with exit status 1
Makefile:7: recipe for target 'install' failed
解決辦法:
pip install cython
6、安裝detectron
注:下面$DETECTRON是你要吧detectron安裝到哪里的路徑,可以隨便制定,自己記住在哪就行。
a、克隆Detectron存儲庫:
# DETECTRON=/path/to/clone/detectron git clone https://github.com/facebookresearch/detectron $DETECTRON
b、安裝Python依賴項:
pip install -r $DETECTRON/requirements.txt
c、設置Python模塊:
cd $DETECTRON && make
d、檢查Detectron測試是否通過:
python $DETECTRON/detectron/tests/test_spatial_narrow_as_op.py
若是沒出錯,就會出現運行時間秒數。

至此,安裝成功。
測試pytorc+cuda+cuDNN,pytorch的Gpu版本安裝是否成功
import torch
print(torch.cuda.is_available())
返回結果是True,則PyTorch的GPU安裝成功
