文章目录

  • 1.创建服务器
  • 2.配置CUDA及cuDNN
  • 3.安装Python3
  • 4.安装PaddlePaddle
  • 5.安装PaddleDetection


1.创建服务器

这里以腾讯云为例,具体创建服务器流程百度解决,但有一点需要注意:一定要在选镜像时勾选后台自动安装GPU驱动,否则自行安装会很麻烦,如下图:

console安装centos centos安装cudnn_命令行


然后选择所需的CUDA以及cuDNN版本号,这里要注意一定要安装与自己想安装的深度学习库(TensorFlow、PyTorch、PaddlePaddle、Keras、caffe等)所对应的CUDA及cuDNN版本(下文以CUDA10.1,cuDNN7.5为例),否则深度学习库无法调用CUDA及cuDNN。这里以CUDA10.1、cuDNN7.5为例

2.配置CUDA及cuDNN

开通服务器后,可用Xshell(可复制粘贴)或腾讯云自带的连接工具(无法复制粘贴)或电脑自带的远程桌面连接(需自己安装桌面等插件)远程连接自己配置好的服务器。
连接到服务器后,配置环境变量,在命令行输入:

sudo vim /etc/profile

进入profile配置文件后,按i在文件最后添加两行(其中10.1可更换为自己所需版本号):

export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

如下图所示:

console安装centos centos安装cudnn_命令行_02

添加后依次按Esc => : => w => q即可保存退出,并在命令行输入如下指令使配置文件立即生效:

source /etc/profile

验证CUDA安装完成 ,命令行输入:

nvcc -V

显示如下字样则表示安装成功:

console安装centos centos安装cudnn_python_03

验证cuDNN安装完成,命令行输入:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

显示如下字样则表示安装成功:

console安装centos centos安装cudnn_python_04

3.安装Python3

首先安装Python3所需要的依赖包,命令行输入:

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel zlib1g-dev zlib*

注意一定要安装libffi-devel包,否则报错ModuleNotFoundError: No module named '_ctypes’
然后建立一个空文件夹(个人可以根据自己的情况安装在不同的位置),并进入该目录:

mkdir /usr/local/python3
cd /usr/local/python3

根据自己需求下载不同版本的Python3(以3.7.0为例),命令行输入:

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

依次执行下列代码,安装Python3.7.0:

tar -zxvf Python-3.7.0.tgz
cd Python-3.7.0
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl
make && make install

其中第三行命令的第一个参数指定安装的路径,不指定的话安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便;第二个参数可以提高python10%-20%代码运行速度;第三个是为了安装pip需要用到ssl。
然后创建软连接,命令行输入:

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

验证python3pip3安装成功,命令行输入:

python3 -V
pip3 -V

如果显示版本号,就代表安装成功了,如下图所示:

console安装centos centos安装cudnn_服务器_05


这里需要注意的是当安装好python3后,会发现yum无法使用,这是因为yum是依赖python2.7的,但把python改成了3.7,导致无法使用。修改一下yum里的相关依赖,命令行输入:

vim /usr/libexec/urlgrabber-ext-down

打开后将第一行的python后加上2.7,如下图:

console安装centos centos安装cudnn_深度学习_06


保存退出,然后再在命令行输入:

vi /usr/bin/yum

同样在python后添加2.7并保存退出,yum即可正常使用,如下图:

console安装centos centos安装cudnn_深度学习_07


若想修改python默认执行版本,即在命令行输入python后系统可以自动打开python3,可在命令行执行如下操作:

alias python=/usr/bin/python3

其中路径与创建软连接时后一个路径相同即可,如下图所示:

console安装centos centos安装cudnn_console安装centos_08

4.安装PaddlePaddle

命令行输入:

python3 -m pip install paddlepaddle-gpu==1.8.4.post107 -i https://mirror.baidu.com/pypi/simple

这里所需版本号可按自己需要更改,其中post107表示CUDA10.x版本和cuDNN7.x版本。安装完成后在命令行输入

python3

进入python3环境,然后输入:

>>> import paddle.fluid as fluid
>>> fluid.install_check.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装,如下图所示:

console安装centos centos安装cudnn_深度学习_09


退出python3环境只需输入exit()即可:

>>> exit()

需要注意的是,import paddle时可能会报错ImportError: libGL.so.1: cannot open shared object file: No such file or directory这是因为缺少共享库,这时在命令行输入:

yum install mesa-libGL.x86_64

等待共享库安装成功,再在python3环境中测试,即可成功。

5.安装PaddleDetection

建立一个空文件夹(个人可以根据自己的情况安装在不同的位置),并进入上级目录:

mkdir /usr/local/PaddleDetection
cd /usr/local/

通过以下命令克隆PaddleDetection

# 下面两条命令执行一条即可,效果相同,后一条命令克隆速度更快
git clone https://github.com/PaddlePaddle/PaddleDetection.git
git clone https://gitee.com/paddlepaddle/PaddleDetection

进入PaddleDetection目录,确认测试通过:

cd ./PaddleDetection
python3 ppdet/modeling/tests/test_architectures.py

测试通过后会提示如下信息:

console安装centos centos安装cudnn_深度学习_10

使用预训练模型预测图像,快速体验模型预测效果:

# use_gpu参数设置是否使用GPU
python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg

执行完成后,会在PaddleDetectionoutput文件夹下生成一个画有预测结果的同名图像:

console安装centos centos安装cudnn_python_11


至此,服务器便可调用GPU进行目标检测。