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更新)

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