https://blog.csdn.net/u011117131/article/details/103565254
安装cuda10.0
cuda官网选择适合自己电脑的版本下载
.在终端输入在第一步中选择好版本后官网给出的安装命令。
由于显卡驱动是之前就单独安装好的,所以在这里安装cuda时注意不要再安装驱动driver了。除了驱动不装,其他的都都安装。一路指令顺序执行下来。
环境变量的配置。打开 ~/.bashrc 文件补充代码。 在终端输入:
sudo gedit ~/.bashrc 1
在打开的文件底端补充:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local /cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 1 2 3
输入完成后,保存并且关闭文档,终端界面上的警告可以忽略。然后再在终端输入:source ~/.bashrc 让配置生效
创建链接文件,终端输入:
sudo gedit /etc/ld.so.conf.d/cuda.conf 1
在打开的文件中添加语句:
/usr/local/cuda/lib64 1
文档保存关闭后终端输入:
sudo ldconfig 1
查看cuda是否安装成功, 终端输入:nvcc -V
安装cuDNN-7.6
这里需要注意的是,cuDNN的版本,要与已安装的CUDA版本对应 移动安装文件到用户根目录下 复制文件到CUDA安装目录
sudo cp ~/cuda/include/cudnn.h /usr/local/cuda-10.0/include sudo cp ~/cuda/lib64/lib* /usr/local/cuda-10.0/lib64
1 2
创建库文件链接: 注意进入相关目录找到对应的.so文件,因为写错了.so名称此处也不会报错
cd /usr/local/cuda-10.0/lib64 sudo ln -sf libcudnn.so.7.6.5 libcudnn.so.7 sudo ln -sf libcudnn.so.7 libcudnn.so sudo ldconfig -v
1 2 3 4
安装opencv3.4.1
安装依赖项:
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 libtiff5-dev libdc1394-22-dev # 处理图像所需的包 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包 sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能 sudo apt-get install ffmpeg
1 2 3 4 5 6 7
确保上面依赖项安装了 然后其他参看下面博客安装:
https://blog.csdn.net/cocoaqin/article/details/78163171
1
安装caffe 第一步 安装相关依赖库
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 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
1 2 3 4 5 6 7 8
第二步 下载caffe
使用Git直接下载Caffe ,没安装git就按照提示安装一下
git clone https://github.com/BVLC/caffe.git cd caffe
1 2
第三步 修改Makefile.config
1、进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :
sudo cp Makefile.config.example Makefile.config
1
复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。
2、修改 Makefile.config 文件,在 caffe 目录下打开该文件:
sudo gedit Makefile.config
1
在文件中替换一下几个地方:
... 将 #USE_CUDNN := 1 修改成: USE_CUDNN := 1 ... ... #如果此处是OpenCV2,则不用修改 将 #OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 ... 将 CUDA_DIR := /usr/local/cuda 修改为 CUDA_DIR := /usr/local/cuda-10.0 ... 将 #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 /usr/local/cuda-10.0/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/cuda-10.0/lib64 ... ... 将 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 ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
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 ...
1 2 3 4 5 6 7 8 9 10 11 12 13
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!
1 2 3 4
第四步 编译 在caffe目录下执行
#jn 就是cpu的核心数,j8也就是八核 sudo make all -j8
1 2
测试:
sudo make runtest -j8
1
openpose编译安装: 如果上面caffe按操作来不踩坑,建议参考下面博客编译openpose一般没问题: https://blog.csdn.net/qq_27838651/article/details/89282776
下载OpenPose:
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
1
下载模型(这一步可跳过,因为之后会自动下载):
cd openpose cd models ./getModels.sh cd ..
1 2 3 4
打开cmke软件:
cmake-gui
1
填写openpose源码目录以及build: 在这里插入图片描述 点击Configure按钮, 选择Unix Makefile和use default native compling,点击finish按钮
点击Generate按钮,中间会出现一些红色的可配置项。之后按图操作配置caffe编译路径 : 在这里插入图片描述在这里插入图片描述【如果使用OpenPose的 Python API,需要在 CMake GUI 中设置 BUILD_PYTHON, 并且下载pybind11解压后的文件拷贝到3rdparty/pybind11/下即可】 最后点击Generate按钮
OpenPose 编译
cd OPENPOSE_ROOT/build/ make -j`nproc`
1 2
编译过程中出现过一个错误: cannot find #include “caffe/proto/caffe.pb.h” 解决办法:首先将caffe.proto中的required改为optional, 然后在caffe目录下输入如下代码:
protoc src/caffe/proto/caffe.proto --cpp_out=. mkdir include/caffe/proto mv src/caffe/proto/caffe.pb.h include/caffe/proto
1 2 3
最后重新编译caffe。 测试:
./build/examples/openpose/openpose.bin --video examples/media/video.avi
1
其他相关 下面是所有安装用到的东西请下载 链接:https://pan.baidu.com/s/1ud2XTUPQmTLcz3_mOgfqzg&shfl=sharepset 提取码:uqx6
链接: https://pan.baidu.com/s/1NQeE_NtOIsyG5XUnSNZymw&shfl=shareset 提取码: 4zu3
两个一样的,如果失效了就留言吧也许会回。
【注意】 [1] - 编译时不采用 cuDNN:
在OpenPose 配置中,去除 CMake 的 USE_CUDNN 勾选.
如果不采用 cuDNN,则需要减少 --net_resolution 设定的尺寸,以避免 GPU 显存不足.
–net_resolution 可尝试:640x320, 320x240, 320x160, 160x80。
如:–net_resolution -1x320.
[2] - 自定义 Caffe 版本:
在OpenPose 配置中,去除 CMake 的 BUILD_CAFEE 勾选,手工定义 Caffe include路径和 library路径.
在OpenPose 配置中,如果是从源码编译安装的 OpenCV,导致 OpenPose 不能找到 OpenCV路径,则可以手工指定 OPENCV_DIR 路径. 如:
cmake -DOpenCV_INCLUDE_DIRS=/home/"${USER}"/softwares/opencv/build/install/include \ -DOpenCV_LIBS_DIR=/home/"${USER}"/softwares/opencv/build/install/lib \ -DCaffe_INCLUDE_DIRS=/home/"${USER}"/softwares/caffe/build/install/include \ -DCaffe_LIBS=/home/"${USER}"/softwares/caffe/build/install/lib/libcaffe.so -DBUILD_CAFFE=OFF ..
cmake -DOpenCV_CONFIG_FILE=/home/"${USER}"/softwares/opencv/build/install/share/OpenCV/OpenCVConfig.cmake \ -DCaffe_INCLUDE_DIRS=/home/"${USER}"/softwares/caffe/build/install/include \ -DCaffe_LIBS=/home/"${USER}"/softwares/caffe/build/install/lib/libcaffe.so -DBUILD_CAFFE=OFF ..
1 2 3 4 5 6 7 8
Python API
OpenPose的 Python API,需要在 CMake GUI 中设置 BUILD_PYTHON.
如:./build/examples/tutorial_developer/python_1_pose_from_heatmaps.py.
CPU 版本
为了可以手工选择 CPU 版本,则在 CMake GUI 中设置 GPU_MODE 为 CPU_ONLY.
注:CPU 版本的精度比 CUDA 版本的精度高大约 1%. 故结果可能有不同.
Ubuntu 中的 OpenPose 利用了 Caffe 的 Intel MKL(Math Kernel Library) 版本. 也可以通过取消选择USE_MKL,利用自定义的 Caffe 版本.
默认 CPU 版本在 Ubuntu 上大概每秒 0.2 张图像(比 GPU 版本慢 ~50X ). MKL 版本能够提升 2X 的速度,每秒 ~0.4 张图像. OpenPose 重新安装与删除
[1] - 如果运行了 sudo make install,则,首先在 build/ 中运行 sudo make uninstall.
[2] - 删除 build/ 路径.
[3] - CMake GUI 中,点击 File - Delete Cache.
[4] - 重新安装.(或删除 OPENPOSE_ROOT/ 路径.) https://blog.csdn.net/u011117131/article/details/103565254