Ubuntu 18.04.05 下安装Tensorflow-GPU和OpenPose


安装过程中涉及到的文件及其版本为

文件版本文件名
NVIDIA驱动460命令行安装
CUDA10.1cuda_10.1.105_418.39_linux.run
cudnn7.6.5cudnn-10.1-linux-x64-v7.6.5.32
tensorflow-gpu2.2.2命令行安装
cmake3.19.3CMake_3.19.3
opencv3.4.4opencv-3.4.4.zip
Anacondapython3.7Anaconda3-2019.10-Linux-x86_64.sh
所有文件的下载链接: https://pan.baidu.com/s/1BE8GqUbAJSxXWBSw4BvLUQ 密码: n2a2

1、 Ubuntu 18.04.05系统安装

1 使用DE系统盘制作软件制作启动盘
在这里插入图片描述
2 等待制作完成
在这里插入图片描述

3 开机启动不断的按F8
在这里插入图片描述
4 选择启动盘,点击确定
在这里插入图片描述
5 点击Install Ubuntu
在这里插入图片描述
6 点击Continue
在这里插入图片描述
7 继续continue
在这里插入图片描述
8 继续continue
在这里插入图片描述
9 选择Something else,然后continue
在这里插入图片描述
10 选择交换区swap area,点击OK
在这里插入图片描述
11 给 / 分配空间,点击OK
在这里插入图片描述
12 给/home分配空间在这里插入图片描述
13 选择boot loader,点击Install Now
在这里插入图片描述
14 启动项将Ubuntu安装的盘设置为Boot Option #1在这里插入图片描述
15 开机的时候自由选择Ubuntu和Window 10在这里插入图片描述

1.1 UEFI安装

主板配置如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他步骤如1所示,安装完成以后重启开机,得到下图:
在这里插入图片描述
1是Ubuntu,3是windows

2、给ubuntu 18.04.05换成国内的源

换源部分参考https://blog.csdn.net/u012308586/article/details/102953882

Ubuntu18自带的源更新起来很慢,所以要将源更换为国内的源
首先查询 ubuntu 18.04.05系统的信息

lsb_release -a

然后得到其信息如下所示:

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic 

桌面打开终端,执行命令:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

执行命令:

sudo gedit /etc/apt/sources.list 

打开文件对内容进行替换
Ubuntu18.04
阿里源:

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

清华源:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

Ubuntu22.02
清华源:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

阿里源:

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

使用如下命令进行更新:

sudo apt-get update
sudo apt-get upgrade

如果报如下错误:

redmery@redmery:~$ sudo apt-get update
Ign:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic InRelease  
Ign:2 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates InRelease
Ign:3 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-backports InRelease
Ign:4 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security InRelease
Ign:5 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-proposed InRelease
Err:6 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: 101.6.15.130 443]
Err:7 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: 101.6.15.130 443]
Err:8 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-backports Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: 101.6.15.130 443]
Err:9 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: 101.6.15.130 443]
Err:10 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-proposed Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: 101.6.15.130 443]
Reading package lists... Done
E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-backports Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-proposed Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

则按照Ubuntu 修改 apt 镜像网页的方法进行修改

3、安装 lightdm 和 vim

sudo apt-get -y install lightdm vim

4、安装 NVIDIA 驱动

NVIDIA 驱动部分参考https://blog.csdn.net/new_delete_/article/details/81544438
检查系统适配的NVIDIA驱动

sudo ubuntu-drivers devices

然后得到

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C82sv00007377sd00000000bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP107 [GeForce GTX 1050 Ti]
driver   : nvidia-driver-460 - distro non-free recommended
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-450 - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

然后执行

sudo apt-get install nvidia-driver-435

等待 nvidia-driver-435安装完成。

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

然后对blacklist-nouveau.conf写入一下内容

blacklist nouveau
options nouveau modeset=0

然后执行

sudo update-initramfs -u
sudo reboot

重启以后使用以下命令查看 NVIDIA 驱动是否安装完成,然而还是安装的NVIDIA 驱动版本仍然是最新的460

nvidia-smi

得到如下信息:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210124190303640.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NDg1NDY=,size_16,color_FFFFFF,t_70

5、安装CMake

cmake的安装部分参考https://blog.csdn.net/ztmajor/article/details/88535705

cmake下载链接https://github.com/Kitware/CMake

redmery@redmery:~/Documents/CMake_3.19.3$ ./bootstrap

在这里插入图片描述
结果报错:

CMake Error at Utilities/cmcurl/CMakeLists.txt:508 (message):
Could not find OpenSSL.  Install an OpenSSL development package or
configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.

查看报错可以发现,报错的原因是没有安装ssl,因此执行以下命令安装ssl

sudo apt-get install libssl-dev

接着继续执行以下命令

redmery@redmery:~/Documents/CMake_3.19.3$ ./bootstrap

没有报错,接着执行

make -j8
sudo make install

安装完成,查看cmake版本信息

redmery@redmery:~/Documents/CMake_3.19.3$ cmake --version

得到cmake的信息

cmake version 3.19.20210123-g0bfb0ed
CMake suite maintained and supported by Kitware (kitware.com/cmake).

在这里插入图片描述

6、安装CUDA 10.1

命令行执行以下内容进行安装

sudo ./cuda_10.1.105_418.39_linux.run 

若如下错误,则执行

sudo ./cuda_10.1.105_418.39_linux.run  --override

在这里插入图片描述在这里插入图片描述
因为已经安装了驱动,所以选择不安装Driver

安装完成后,显示如下:
在这里插入图片描述

sudo gedit  ~/.bashrc

输入:

export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH

然后对./bashrc更新:

source ~/.bashrc

判断cuda是否安装成功,执行:

 nvcc --version

测试cuda的Samples:

cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery

初始化ubuntu的密码ubuntu的su初始密码设置

su
make
sudo ./deviceQuery

输出的最后两行类似这样的信息:

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 10.0, NumDevs = 1, Device0 = GeForce GTX 1050 TI
Result = PASS

7、安装cudnn

直接cudnn将文件解压,拷贝到cuda相应的文件夹下即可:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/*.* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

8、安装Anacodna

默认安装python3.7即可,直接执行

sudo sh Anaconda3-2019.10-Linux-x86_64.sh 

一直yes即可,下载完成后,在terminal中输入以下内容完成环境激活

若初始化失败,则在~/.bashrc中手动添加

#<<< conda initialize<<<
export PATH="/home/***/anaconda3/bin:$PATH"

然后执行

source ~/.bashrc

9、安装tensorflow-gpu

接下来是最后一步,安装tensorflow-gpu,推荐使用清华镜像来安装,否则很慢

(base) redmery@redmery:~$ pip install tensorflow-gpu==2.2.2 --user -i https://pypi.tuna.tsinghua.edu.cn/simple

测试是否安装成功

import tensorflow as tf
from tensorflow.python.client import device_lib
print ('tf.__version__:', tf.__version__)
print ('tf.test.is_gpu_available():', tf.test.is_gpu_available())
print ('tf.test.gpu_device_name():', tf.test.gpu_device_name())
local_device_protos = device_lib.list_local_devices()
[print(x) for x in local_device_protos if x.device_type == 'GPU']

返回结果,证明tensorflow的gpu版成功安装

tf.__version__: 2.2.2
WARNING:tensorflow:From <ipython-input-1-f10b8963a480>:5: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.config.list_physical_devices('GPU')` instead.
tf.test.is_gpu_available(): True
tf.test.gpu_device_name(): /device:GPU:0
name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 3677552640
locality {
  bus_id: 1
  links {
  }
}
incarnation: 582237469341199762
physical_device_desc: "device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1"

10、建立链接

创建opencv.conf文件:

sudo vi /etc/ld.so.conf.d/opencv.conf

/usr/local/bil

写入opencv.conf文件中,然后
执行

sudo ldconfig

11、安装opencv

opencv部分参考https://blog.csdn.net/fl1623863129/article/details/109054129
创建并打开文件opencv_dep.sh

redmery@redmery:~$ sudo vim opencv_dep.sh

输入一下内容:

sudo apt-get -y remove ffmpeg x264 libx264-dev
sudo apt-get -y install libopencv-dev
sudo apt-get install build-essential
sudo apt-get -y install build-essential checkinstall cmake git pkg-config yasm
sudo apt-get -y install libtiff4-dev libjpeg-dev libjasper-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
sudo apt-get -y install python-dev python-numpy
sudo apt-get -y install libtbb-dev libtbb2
sdo apt-get -y install libqt4-dev libgtk2.0-dev
sudo apt-get -y install libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev
sudo apt-get -y install x264 v4l-utils ffmpeg libxvidcore-dev libx264-dev
sudo apt-get -y install libgtk2.0-dev
sudo apt-get -y install libatlas-base-dev gfortran

然后执行 以下内容,完成依赖包的安装

redmery@redmery:~$ sudo sh opencn_dep.sh 

然后执行以下内容,安装opencv3.4.4

cd opencv-3.4.4
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8                         #  (自己电脑是8核心的make -j8)
sudo make install
pkg-config --modversion opencv  #查看 opencv 版本验证是否安装成功

12、更新cmake

cmake更新部分参考https://blog.csdn.net/qq_26018075/article/details/104114107
添加签名密钥

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -

将存储库添加到您的源列表并进行更新

sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update

安装cmake-qt-gui,cmake-qt-gui的安装过于漫长,超过半个小时

sudo apt-get install cmake-qt-gui

13、安装openpose

最后部分参考https://blog.csdn.net/FL1623863129/article/details/113062348

https://blog.csdn.net/u013010889/article/details/70808866
创建caffe_dep.sh文件

sudo vim caffe_dep.sh

在文件中输入

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install -y --no-install-recommends libboost-all-dev
sudo apt-get install -y libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install -y git build-essential

然后执行caffe_dep.sh完成依赖包的安装

bash caffe_dep.sh

接着在终端输入一下内容:

redmery@redmery:~$ cd openpose/3rdparty/caffe/
redmery@redmery:~/openpose/3rdparty/caffe$ bash caffe_pb.sh
make clean
make -j8
make py

打开.bashrc文件

redmery@redmery:~/openpose/3rdparty/caffe$ sudo vim ~/.bashrc

然后添加

export PYTHONPATH=/home/redmery/openpose/3rdparty/caffe/python

接着执行以下对 .bashrc进行环境激活

redmery@redmery:~/openpose/3rdparty/caffe$ source ~/.bashrc

然后执行

(base) redmery@redmery:~/openpose/3rdparty/caffe$ cd ../../build/
(base) redmery@redmery:~/openpose/build$ make clean
(base) redmery@redmery:~/openpose/build$ rm -rf *

接着执行

(base) redmery@redmery:~/openpose/3rdparty/caffe$ cmake-gui

打开
在这里插入图片描述

然后点击Configure:
在这里插入图片描述
然后点击Finish,得到
在这里插入图片描述然后对Caffe_INCLUDE_DIRS 和 Caffe_LIBS路径进行编辑

在这里插入图片描述
然后点击configure,得到
在这里插入图片描述然后点击Generate,得到
在这里插入图片描述最后执行

(base) redmery@redmery:~$ cd openpose/build/
(base) redmery@redmery:~/openpose/build$ make -j8

14、 测试openpose

在终端输入以下内容对视频中的任务进行分析

(base) redmery@redmery:~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --net_resolution -1x96

改变分辨率

(base) redmery@redmery:~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --net_resolution -1x64
(base) redmery@redmery:~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --net_resolution -1x94
(base) redmery@redmery:~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --net_resolution -1x96

得到
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值