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