openpose环境搭建(全教程)

目录

一、Ubuntu的安装

制作启动盘

装机

二、安装nvidia显卡驱动

第一步 获取显卡型号

第二步 去NVDIA driver search page查看支持 GTX1080ti 显卡的驱动的最新版本的版本号

第三步 查询支持GTX1080ti显卡的显卡驱动的其他驱动版本

第四步 安装

三、安装cuda+cudnn

第一步 安装nvida驱动

第二步 安装cuda8.0

1、下载cuda

2、安装cuda相关依赖

3、安装cuda

第三步 安装cudnn(注意要和cuda版本相符合)

四、安装opencv

方法一:通过apt-get安装opencv2

查看是否安装成功

方法二:通过源码安装opencv3

五、Caff搭建

第一步 安装相关依赖库

第二步 下载caffe

第三步 修改Makefile.config

六、Openpose的搭建

一、下载openpose

二、安装Cmake Gui

三、 利用Cmake Gui 生成build文件

四、build

五、测试

七、参考资料:

八、补充


 

一、Ubuntu的安装

制作启动盘

1、安装USB Install

2、Set a Persistent file size for storing changes 是选择一个固定的文件存储空间,即如果你登入系统后,对系统有任何更改,将保存到U盘中,如果选择0,则不会保存。

3、它就会把ISO的东西写入U盘了

写完之后,U盘名称被改为“UUI”

装机

在U盘的Ubuntu启动菜单中选择“Try Ubuntu”,或者“Install Ubuntu”直接从U盘安装(我这里为了截图方便所以选择的是“Try Ubuntu”)

进入“Try Ubuntu 16.04.2 LTS”后,双击桌面上的“Install Ubuntu 16.04.2 LTS”

2、设置分区,boot 700M  /home 80G   /剩余 :系统、软件安装 swap 16G 

3、设置用户和密码

4、正式开始安装拷贝数据了。

5、完成后会提示重新启动,重启后即可进入系统

二、安装nvidia显卡驱动

第一步 获取显卡型号

想办法获取自己nvidia显卡的型号(一般买电脑的时候都会有显卡型号,我的显卡型号是在电脑上的一个贴纸上),本人的显卡是GTX970M。

第二步 去NVDIA driver search page查看支持 GTX1080ti 显卡的驱动的最新版本的版本号

第三步 查询支持GTX1080ti显卡的显卡驱动的其他驱动版本

第四步 安装

下面我们使用ppa方式安装384版本驱动,而不是最新的390版本驱动 

想要驱动GPU,就需要安装GPU驱动(我是的GTX1080ti),可能有时候通过NVIDIA官网下载显卡驱动比较慢,我们可以添加ppa库,通过ppa安装显卡驱动,这步可有可无,用户自行决定,输入代码如下:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get install nvidia-384

安装好了,重启系统,使用下面命令,可以查看GPU

nvidia-smi

三、安装cuda+cudnn

第一步 安装nvida驱动

安装nvidia驱动,我们已经安装了。

第二步 安装cuda8.0

1、下载cuda

进入 各个历史版本下载链接,选择合适的 CUDA 类型下载。(建议下载8.0或者9.0,不要下载最新的版本,因为好多框架可能还不支持,导致后面各个深度学习框架安装报错,并且去官网重新下载,用已经安装过会报奇怪的错误!!!

如上图所示我选择的是linux x86_64 ubuntu 16.04环境,最后一个选项是安装包形式,我选择的是runfile安装包,点击downlad即可下载

2、安装cuda相关依赖

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

3、安装cuda

  1. 1.进入文件所在的目录,用下列命令安装
​sudo sh cuda_9.0.176_384.81_linux.run
  1. 2.安装 ,会让你先读文章,你就直接按空格键就ok
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
  1. 3.若无警告和报错,出现下列显示,即安装暂时成功。 
Installing the CUDA Toolkit in /usr/local/cuda-9.0 …
Installing the CUDA Samples in /home/textminer …
Copying samples to /home/textminer/NVIDIA_CUDA-9.0_Samples now…
Finished copying samples.

===========
= Summary =
===========

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-9.0
Samples: Installed in /home/textminer

Please make sure that
– PATH includes /usr/local/cuda-9.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 9.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver

Logfile is /tmp/cuda_install_6583.log
  1. 4.配置环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc

echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc

source ~/.bashrc

第三步 安装cudnn(注意要和cuda版本相符合)

  1. 下载cudnn-9.0-linux-x64-v7.1.tgz https://developer.nvidia.com/rdp/cudnn-archive

  1. 2.解压并复制到/usr/local 
sudo tar -xzf cudnn-9.0-linux-x64-v7.1.tgz -C /usr/local

# 也就是把cudnn解压后把cudnn.h和libcudnn*放到cuda安装目录里面去
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

 

四、安装opencv

方法一:通过apt-get安装opencv2

sudo apt update

sudo apt upgrade

sudo apt install libopencv-dev python-opencv

查看是否安装成功

pkg-config --modversion opencv 
如果输出了opencv2.4 的版本信息,说明安装成功

方法二:通过源码安装opencv3

参考:https://blog.csdn.net/cocoaqin/article/details/78163171

五、Caff搭建

第一步 安装相关依赖库

sudo apt-get --assume-yes install build-essential

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
# Python libs

sudo -H pip install --upgrade numpy protobuf

 

第二步 下载caffe

下载caffe

  1. 使用Git直接下载Caffe ,没安装git就按照提示安装一
git clone https://github.com/BVLC/caffe.git
cd caffe

第三步 修改Makefile.config

1、进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :

sudo cp Makefile.config.example Makefile.config

复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。

2、修改 Makefile.config 文件,在 caffe 目录下打开该文件:

sudo gedit Makefile.config

在文件中替换一下几个地方: 

...
将
#USE_CUDNN := 1
修改成: 
USE_CUDNN := 1
...

...
#如果此处是OpenCV2,则不用修改
将
#OPENCV_VERSION := 3 
修改为: 
OPENCV_VERSION := 3
...

...
将
#WITH_PYTHON_LAYER := 1 
修改为 
WITH_PYTHON_LAYER := 1
...

...
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       
...

...
将
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
		-gencode arch=compute_20,code=sm_21 \
		-gencode arch=compute_30,code=sm_30 \
		-gencode arch=compute_35,code=sm_35 \
		-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_52,code=sm_52 \
		-gencode arch=compute_60,code=sm_60 \
		-gencode arch=compute_61,code=sm_61 \
		-gencode arch=compute_61,code=compute_61
修改为
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
		-gencode arch=compute_35,code=sm_35 \
		-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_52,code=sm_52 \
		-gencode arch=compute_60,code=sm_60 \
		-gencode arch=compute_61,code=sm_61 \
		-gencode arch=compute_61,code=compute_61
...

3、然后修改 caffe 目录下的 Makefile 文件:

...
将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
...

...
将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
...

4、然后修改 /usr/local/cuda/include/host_config.h 文件 

将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

 

第四步 编译 

在caffe目录下执行

#jn  就是cpu的核心数,j8也就是八核
sudo make all -j8

测试: 

sudo make runtest -j8

 

 

六、Openpose的搭建

一、下载openpose

下载openpose

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

二、安装Cmake Gui

sudo apt-get install cmake-gui

三、 利用Cmake Gui 生成build文件

命令行download模型

cd openpose
cd models
./getModels.sh
cd ..

打开cmke软件,填写openpose源码目录以及build 

这里写图片描述

点击Configure按钮, 选择Unix Makefile和use default native compling,点击finish按钮 

这里写图片描述

点击Generate按钮

过程中无报错,且出现configuring done,中间会出现一些红色的可配置项。

接着配置caffe编译路径 

这里写图片描述

如上图所示caffe编译后的目录项填写完成

最后点击Generate按钮

四、build

编译项目

cd build/

sudo make

编译过程中出现过一个错误 cannot find #include “caffe/proto/caffe.pb.h” 
通过下图方法解决问题 

这里写图片描述

五、测试

./build/examples/openpose/openpose.bin --video examples/media/video.avi

视频测试

七、参考资料:

https://blog.csdn.net/weixin_40539892/article/details/79494922

https://blog.csdn.net/yhaolpz/article/details/71375762

https://blog.csdn.net/w5688414/article/details/76222710

https://blog.csdn.net/cocoaqin/article/details/78163171

八、补充

可能还有些问题,很多热心的小伙伴在评论区给了答案,大家可以先看看评论再读文章,可能少彩很多坑。(2020-01-13更新)

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