热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

openpose环境搭建(全教程)

目录一、Ubuntu的安装制作启动盘装机二、安装nvidia显卡驱动第一步获取显卡型号第二步去NVDIAdriversearchpage查看支持GTX1080ti显卡的

目录

一、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: acceptInstall NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: nInstall the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: yEnter 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: yInstall 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/textminerPlease 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 rootTo uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/binPlease 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 -driverLogfile is /tmp/cuda_install_6583.log

  1. 4.配置环境变量

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrcecho 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrcsource ~/.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-essentialsudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
# Python libssudo -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更新)


推荐阅读
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 在生产环境中进行高效部署与优化 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • Docker网络基础探讨了如何通过高效的技术手段实现跨主机容器间的顺畅通信与访问。本文深入分析了Docker网络架构,特别是其在多主机环境下的应用,为Go语言开发者提供了宝贵的实践指导和理论支持。 ... [详细]
  • 技术日志:在Ubuntu 20.04上部署与移除MySQL 8的详细步骤
    技术日志:在Ubuntu 20.04上部署与移除MySQL 8的详细步骤 ... [详细]
  • 在Ubuntu和Linux Mint系统中安装LibreOffice 6.0的详细步骤
    本文详细介绍了在Ubuntu和Linux Mint操作系统上安装LibreOffice 6.0的具体步骤,包括必要的系统准备、软件源配置以及命令行操作,确保用户能够顺利安装并使用这一开源办公套件。 ... [详细]
  • 在Linux系统中将Python更新至3.7版本的方法如下:首先,从Python官方网站下载Python 3.7的安装包,例如使用 `wget` 命令下载 `Python-3.7.3.tgz`。其他版本的下载链接也可从Python官网获取。接下来,解压下载的文件并进入解压后的目录,运行配置脚本和编译命令以完成安装。确保在安装过程中添加Python 3.7到系统的环境变量中,以便全局使用。此外,建议检查当前系统的Python版本,以避免冲突。 ... [详细]
  • 从Maven环境搭建到新建Maven项目的全流程指南
        话不多说,直接入正题。  一、配置maven环境首先安装最新版支持javaee的eclipse。我这里下载的版本是eclipse-jee-mars-2-win32-x86_64 ... [详细]
  • 通过Apache Commons FileUpload组件,可以根据具体应用需求实现多样化的文件上传功能。在基本应用场景中,开发者可以通过调用单一方法来解析Servlet请求,从而轻松处理文件上传任务。此外,该组件还提供了丰富的配置选项和高级功能,支持大文件上传、多文件并发处理等复杂场景,显著提升了文件上传的效率和可靠性。 ... [详细]
author-avatar
追求生活的垃圾筒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有