ubuntu18.04安装RTX2060S显卡驱动+CUDA10.2+CUDNN7.6.5+opencv3+caffe+openpose
前言本文记录ubuntu18.04下openpose的安装过程。参考官方文档配置如下:CPU:i3-10100内存:DDR4 16GChipset:Q470GPU:RTX 2060 super 8GB一、安装前设置安装ubuntu18.04.5操作系统,为了加快安装依赖时的速度,可以将apt源更换为阿里源。root@AI-S2000:/home/ubuntu# mv /etc/apt/source
目录
前言
本文记录ubuntu18.04下openpose的安装过程。参考官方文档
配置如下:
CPU:i3-10100
内存:DDR4 16G
Chipset:Q470
GPU:RTX 2060 super 8GB
一、安装前设置
安装ubuntu18.04.5操作系统,为了加快安装依赖时的速度,可以将apt源更换为阿里源。
root@AI-S2000:/home/ubuntu# mv /etc/apt/sources.list /etc/apt/sourses.list.backup
root@AI-S2000:/home/ubuntu# vi /etc/apt/sources.list
--------阿里源------
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
root@AI-S2000:/home/ubuntu# apt update
root@AI-S2000:/home/ubuntu# apt upgrade
二、安装显卡驱动
1.查看当前RTX2060 Super显卡是否被识别
root@AI-S2000:/home/ubuntu# lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1f06 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 10f9 (rev a1)
01:00.2 USB controller: NVIDIA Corporation Device 1ada (rev a1)
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1adb (rev a1)
2.安装驱动
2.1 安装依赖
sudo apt-get install gcc g++ make
2.2禁止nouveau
sudo vim /etc/modprobe.d/blacklist.conf
在文件末尾加入
blacklist nouveau
options nouveau modeset=0
执行下面的命令生效
sudo update-initramfs -u
此步骤完成后需要重启系统!!!
2.3下载驱动
NVIDIA官网下载合适的驱动,驱动版本对应关系参考官网说明,本次安装440.100版本
2.4停止桌面环境
为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。之后会进入一个新的命令行会话,使用当前的用户名密码登录
sudo telinit 3
2.5终端安装
sudo chmod +x NVIDIA-Linux-x86_64-440.100.run
sudo ./NVIDIA-Linux-x86_64-440.100.run --o-opengl-files --o-x-check
参数介绍:
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要,不加很有可能出现循环登录,也就是loop login。
- –no-x-check 安装驱动时不检查X服务
2.6验证是否安装成功
ubuntu@AI-S2000:~$ nvidia-smi
Mon Sep 7 15:14:31 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100 Driver Version: 440.100 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 206... Off | 00000000:01:00.0 On | N/A |
| 22% 36C P8 17W / 175W | 92MiB / 7979MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 894 G /usr/lib/xorg/Xorg 90MiB |
+-----------------------------------------------------------------------------+
三、安装CUDA10.2
1.下载CUDA
去CUDA官网下载合适的版本,本文使用CUDA10.1,最后一个选项是安装包形式,我选择的是runfile安装包
2.依赖及runfile安装
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev #依赖安装
ubuntu@AI-S2000:~/Downloads/cuda10.2$ chmod +x cuda_10.2.89_440.33.01_linux.run
ubuntu@AI-S2000:~/Downloads/cuda10.2$ sudo ./cuda_10.2.89_440.33.01_linux.run
第一步选择accept,因为已经安装过显卡驱动,安装时不勾选驱动。
3.设置环境变量
在/etc/profile文件末尾加入下面两行
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda10.2/lib64
重启电脑后在终端输入:env,检查环境变量中有无刚加入的变量。
终端输入 : nvcc -V 会输出CUDA的版本信息。
ubuntu@AI-S2000:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
四、安装cuDNN10.2
1.下载cuDNN
官网下载cuDNN,注意要与CUDA版本相符,本文使用cuDNN 7.6.5 for CUDA10.2
tar -zxvf cudnn-10.2-linux-x64-v7.6.5.32.tgz #解压安装包
2.复制文件
终端输入以下命令将文件复制到CUDA中,复制后即完成cuDNN安装
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 /usr/local/cuda/lib64/libcudnn*
3.验证
终端输入cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 ,显示如下即为安装成功
五、安装opencv
1.通过pip3安装opencv
sudo apt install python3-pip
pip3 install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple #-i指定国内源
2.通过源码安装opencv3
参考:https://blog.csdn.net/cocoaqin/article/details/78163171
六、Caff搭建
1.安装依赖库
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
2.下载caffe
使用Git直接下载Caffe ,没安装git就按照提示安装一下
git clone https://github.com/BVLC/caffe.git
3.修改Makefile.config文件
3.1 进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config
sudo cp Makefile.config.example Makefile.config
3.2 修改 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.3 修改 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
...
3.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!
4.编译caffe
sudo make all -j8
sudo make runtest -j8 #测试
七、Openpose的搭建
1.下载openpose
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
2.安装cmake-gui
sudo apt-get install cmake-gui
3. 利用Cmake Gui 生成build文件
cd openpose
cd models
./getModels.sh
cd ..
3.1 打开cmke-gui软件,填写openpose源码目录以及build
3.2 点击Configure按钮, 选择Unix Makefile和use default native compling,点击finish按钮,再点击configure按钮
3.3中间会出现一些红色的可配置项。之后按图操作配置caffe编译路径,需要python的把build_python勾选上
4.编译openpose
cd build
sudo make -j8
编译过程中出现过一个错误 cannot find #include “caffe/proto/caffe.pb.h”
进入caffe目录,通过以下的方法解决
protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir -p include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto/
5.测试
./build/examples/openpose/openpose.bin --video examples/media/video.avi #cpp
./build/examples/tutorial_developer/python_1_pose_from_heatmaps.py #python
6.其他
6.1 编译时不采用 cuDNN:
在OpenPose 配置中,去除 CMake 的 USE_CUDNN 勾选.
如果不采用 cuDNN,则需要减少 --net_resolution 设定的尺寸,以避免 GPU 显存不足.
--net_resolution 可尝试:640x320, 320x240, 320x160, 160x80。
如:--net_resolution -1x320.
6.2 自定义 Caffe 版本:
在OpenPose 配置中,去除 CMake 的 BUILD_CAFEE 勾选,手工定义 Caffe include路径和 library路径.
6.3 自定义 OpenCV 版本:
在OpenPose 配置中,如果是从源码编译安装的 OpenCV,导致 OpenPose 不能找到 OpenCV路径,则可以手工指定 OPENCV_DIR 路径.
6.4 openpose卸载与重装
[1] - 如果运行了 sudo make install,则,首先在 build/ 中运行 sudo make uninstall.
[2] - 删除 build/ 路径.
[3] - CMake GUI 中,点击 File - Delete Cache.
[4] - 重新安装
更多推荐
所有评论(0)