配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】

注:安装时如果我的步骤不明确,可以根据我所给的引用文章进行安装

1 环境检查

1.1 CUDA检查

// CUDA检查
nvidia-smi

显示结果:
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】

1.2 【由于本人是用服务器配置所以添加了这一项】上传大文件方法

引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)

https://www.cnblogs.com/hester/p/10568316.html

打开aria2c的方法【试了很多方法,这个在我这里最有效】

aria2c –enable-rpc –rpc-listem-all –rpc-allow-origin-all -c –dir /root/downloads -D

2 配置环境

2.1 pytorch

注意:!!要安装和python和cudn版本对应的
一般ubuntu默认为python2,所以安装时要注意用python3

pip3 install torch -i http://pypi.tuna.tsinghua.edu.cn/simple
pip3 install torchvision

验证是否安装成功:

python3
import torch
torch.__version__
torch.cuda.is_available()

配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】

2.2 Opencv3.4.2

2.2.1 卸载之前装过的opencv,caffe

pip3 uninstall opencv-python
pip3 uninstall caffe

2.2.2 安装依赖项
【引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)】

https://blog.csdn.net/qq_40755643/article/details/96437720?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install --assume-yes libopencv-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev
sudo apt-get install libgtk-3-dev
sudo apt-get -y install libgstreamer-plugins-base1.0-dev
sudo apt-get -y install libgstreamer1.0-dev
sudo apt-get -y install libavresample-dev
sudo apt-get -y install libgphoto2-dev
sudo apt-get install libopenblas-dev
sudo apt-get install doxygen

2.2.3 下载安装
下载地址:【我这里下载了Opencv3.4.2,其他版本都一样的过程】

https://opencv.org/releases/

【引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)】

https://blog.csdn.net/alphaPii/article/details/72764917?locationNum=11&fps=1
cd opencv-3.4.2
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make 
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update
python3
import cv2
cv2.__version__

【这部分安装我没有什么问题】

2.3 caffe

【引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)】本文为CSDN博主「兜售小学生」的原创文章,遵循CC 4.0 BY-SA版权协议。
原文链接:

https://blog.csdn.net/qq897107499/article/details/79266348

2.3.1 安装依赖项

sudo apt-get update
sudo apt-get install build-essential cmake git pkg-config
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install libatlas-base-dev
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libopencv-dev

2.3.2 下载安装
下载地址:【注:不是下载其他教程中的BVILcaffe】

git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe

2.3.2.1 修改Makefile.config
【这部分引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)】

https://blog.csdn.net/yggaoeecs/article/details/79163789
cd caffe
sudo cp Makefile.config.Ubuntu16_cuda8.example Makefile.config

打开Makefile.config:

sudo gedit Makefile.config

修改文件:
(1)若使用cudnn
#USE_CUDNN:= 1
修改成:【去除#】

USE_CUDNN:= 1

(2)若使用的opencv版本是3
#OPENCV_VERSION:= 3
修改为:【去除#】

OPENCV_VERSION:= 3

(3)若要使用python来编写layer

#WITH_PYTHON_LAYER:= 1

修改为:【去除#】

WITH_PYTHON_LAYER := 1

(4)#Whatever else you find you need goes here. 下面的
INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/hdf5/serial

我修改的文件为:
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
2.3.2.2 修改Makefile
打开Makefile文件

sudo gedit Makefile

(1)将:
NVCCFLAGS +=-ccbin=(CXX)XcompilerfPIC(CXX) -Xcompiler-fPIC(CXX)−Xcompiler−fPIC(COMMON_FLAGS)
替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX)-Xcompiler -fPIC $(COMMON_FLAGS)

(2)将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m
替换为:

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

我修改的文件为:
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
编译

make all -j8

2.3.3 测试

sudo make runtest

【这部分当时没截图,最后好像是PASSED 20XX tests(没报错就成功)】
2.3.4 遇到的问题
2.3.4.1 make: protoc: 命令未找到
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
解决方法:

sudo apt-get install protobuf-c-compiler protobuf-compiler

2.3.4.2 没有文件目录
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
解决办法:该装的包需要装

2.4 OpenPose

下载地址:【用git clone和直接下载都行】

https://github.com/yysijie/openpose

【这部分引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)】

https://blog.csdn.net/yggaoeecs/article/details/79163789

安装cmake-gui

sudo apt-get install cmake-qt-gui

2.4.1 将caffe复制
将上面配置好的caffe替换openpose/3rdparty/caffe文件夹
2.4.2 安装

cd models
./getModels.sh
cd ..

2.4.2.1 下载完成后,在openpose的目录下创建build文件

sudo mkdir build
sudo cmake-gui

填写openpose源码目录以及build,点击Configure按钮
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
Caffe_INCLUDE_DIRS和Caffe_LIBS的路径分别是openpose/3rdparty/caffe下的inclue文件和openpose/3rdparty/caffe/build/lib libcaffe.so文件
点击Generate按钮,显示Generating done
2.4.2.2 接下来在openpose文件夹下打开终端,执行:

cd build/
make -j`nproc`

2.4.3 测试
图片测试:

./build/examples/openpose/openpose.bin --image_dir examples/media/ --face --hand

配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
2.4.4 出错
(1)cmake-gui的时候出现.

Caffe not found. Either turn on the BUILD _CAFFE option or specify the path of Caffe includes and libs using -DCaffe_INCLUDE_DIRS and -DCaffe_LIBS.

解决方法:将caffe放入openpose文件中(之前没有放,所以导致错误)
(1)make -j’nproc’出错
解决找不到caffe/proto/caffe.pb.h文件:在openpose/3rdparty/caffe/目录下
【这部分引用了以下作者方法(如果作者看到觉得侵权,可以跟我说,我会删除)】

https://mp.weixin.qq.com/s/a7KDj_12VJfRgWrhp2FxdA

配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】

caffe$ protoc src/caffe/proto/caffe.proto --cpp_out=.
caffe$ mkdir include/caffe/proto
caffe$ mv src/caffe/proto/caffe.pb.h include/caffe/proto/

3 st-gcn

3.1 下载

下载地址:

https://github.com/yysijie/st-gcn

3.2 模型下载

在st-gcn目录下:

cd torchlight
python3 setup.py install
cd ..

在st-gcn/tools目录下:

get_models.sh

【这里模型我不知道为什么在unbuntu下载不下来,所以先在windows上下载好,拷贝进网盘】(七天有效期)

链接:https://pan.baidu.com/s/1rYM2QtXlnT7GO6jpJpYAUA 
提取码:m05v 
复制这段内容后打开百度网盘手机App,操作更方便哦

3.3 测试

python3 main.py demo --openpose '/root/openpose/build' --video '/root/st-gcn/resource/media/ta_chi.mp4'

3.4 错误

could not find openposeAPI
配置st-gcn【ubuntu 16.04+CUDA 9.0+CPU】
解决方案:在camke-gui需要勾选build_python(之前看其他教程没有,所以重写编译了,就可以了)

以上是我的安装过程,更详细的报错等方法以及安装方法以及引用文章:
[1]:较为完整的报错更改文章,安装过程较少
[2]: 安装过程以及链接较为详尽,但是有的地方还是需要注意的
[3]: 百度网盘大文件下载教程
[4]: Ubuntu16.04下安装Opencv3.2.0
[5]: Ubuntu16.04下配置CUDA8.0+cuDNN5.1+Caffe+OpenPose

上一篇:深度学习caffe数据结构(二)—— Blob实例练习


下一篇:Caffe源码-InsertSplits()函数