caffe2 ubuntu環境配置(不需要make編譯)(CSN, Channel-Separated Convolutional Networks)(更新中)

Video Classification with Channel-Separated Convolutional Networks

1.先是根據下面網址安裝caffe2的第一步安裝依賴和項目所需要的其他library
https://github.com/facebookresearch/VMZ/blob/master/tutorials/Installation_guide.md
Get the dependencies

sudo apt-get install -y \
      libgoogle-glog-dev \
      libgtest-dev \
      libiomp-dev \
      libleveldb-dev \
      liblmdb-dev \
      libopencv-dev \
      libopenmpi-dev \
      libsnappy-dev \
      libprotobuf-dev \
      protobuf-compiler \
      libgflags-dev \
      python-dev

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lmdb flask future graphviz hypothesis jupyter matplotlib protobuf pydot python-nvd3 pyyaml requests scikit-image scipy six tornado

2.然後我們需要使用的帶GPU的caffe2
https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=prebuilt#install-with-gpu-support
選擇ubuntu, pre-built binaries(不要選擇build from source太麻煩了,pre-built binaries只需要一行命令就行了)
執行下列命令後,caffe2 gpu版就安裝好了

conda install pytorch-nightly -c pytorch

可能的問題:公司網速過慢,需要在家裏下載上述命令中不太好下載的比較大的安裝包pytorch-nightly-1.0.0.dev20190328-py2.7_cuda10.0.130_cudnn7.4.2_0.tar.bz2,因爲這個包需要到conda官方鏡像中https://conda.anaconda.org/pytorch/linux-64/下載,所以需要在家中使用梯子下載;conda install pytorch-nightly -c pytorch中下載的其他的比較大的包比如說cudatoolkit-10.0.130-0.tar.bz2,mkl在清華鏡像中都有,所以不需要梯子就下的很快。

下載命令爲將下列網址輸入到chrome中即可

https://conda.anaconda.org/pytorch/linux-64/pytorch-nightly-1.0.0.dev20190328-py2.7_cuda10.0.130_cudnn7.4.2_0.tar.bz2

下完後使用conda install --offline pytorch-nightly-1.0.0.dev20190328-py2.7_cuda10.0.130_cudnn7.4.2_0.tar.bz2離線安裝pytorch-nightly,然後再使用conda install pytorch-nightly自動安裝原始命令除了pytorch-nightly之外剩餘的安裝包;經實驗conda install pytorch-nightly -c pytorch會重新下載pytorch-nightly-1.0.0.dev20190328-py2.7_cuda10.0.130_cudnn7.4.2_0.tar.bz2即使已經安裝的這個包和即將下載的包完全一模一樣;‘-c pytorch’後綴是爲了是conda install從固定的鏡像中下載,這個的固定鏡像指的是官方pytorch鏡像。

安裝完後在終端中的python輸入

from caffe2.python import core     #查看caffe2是否安裝成功
from caffe2.python import workspace   #查看gpu版的caffe2是否安裝成功

其他的缺少什麼庫安裝一下就好了

PS:測試caffe2是否成功時from caffe2.python import core,出現下列numpy重合的問題

>>> from caffe2.python import core
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/shaorenjie/anaconda3/envs/csn/lib/python2.7/site-packages/caffe2/python/core.py", line 15, in <module>
    from caffe2.python import scope, utils, workspace
  File "/home/shaorenjie/anaconda3/envs/csn/lib/python2.7/site-packages/caffe2/python/utils.py", line 17, in <module>
    import numpy as np
  File "/home/shaorenjie/anaconda3/envs/csn/lib/python2.7/site-packages/numpy/__init__.py", line 142, in <module>
    from . import core
  File "/home/shaorenjie/anaconda3/envs/csn/lib/python2.7/site-packages/numpy/core/__init__.py", line 91, in <module>
    raise ImportError(msg.format(path))
ImportError: Something is wrong with the numpy installation. While importing we detected an older version of numpy in ['/home/shaorenjie/anaconda3/envs/csn/lib/python2.7/site-packages/numpy']. One method of fixing this is to repeatedly uninstall numpy until none is found, then reinstall this version.

解決:

pip uninstall numpy
pip uninstall numpy
conda uninstall numpy         #這個命令會把之前離線安裝的pytorch-nightly一起給卸載了,不過沒有關係,可以重新離線安裝一下
conda install pytorch-nightly-1.0.0.dev20190328-py2.7_cuda10.0.130_cudnn7.4.2_0.tar.bz2
conda install pytorch-nightly       #自動重新安裝pytorch-nightly所對應的numpy


更新:
使用prebuilt binary進行安裝的pytorch會並沒有包含ffmpeg和opencv
所以運行csn代碼時會出現如下錯誤,即使上述測試沒有問題

AttributeError: Method VideoInput is not a registered operator. Did you mean: []

在pytorch github 的issue中有人回答說是需要build from source,但目前github上的pytorch(https://github.com/pytorch/pytorch)在linux gpu上的安裝測試爲fail
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章