这里以腾讯云为例,具体创建服务器流程百度解决,但有一点需要注意:一定要在选镜像时勾选后台自动安装GPU驱动
,否则自行安装会很麻烦,如下图:
然后选择所需的CUDA以及cuDNN版本号,这里要注意一定要安装与自己想安装的深度学习库(TensorFlow、PyTorch、PaddlePaddle、Keras、caffe等)所对应的CUDA及cuDNN版本(下文以CUDA10.1,cuDNN7.5为例),否则深度学习库无法调用CUDA及cuDNN。这里以CUDA10.1、cuDNN7.5为例
开通服务器后,可用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}}
添加后依次按Esc
=> :
=> w
=> q
即可保存退出,并在命令行输入如下指令使配置文件立即生效:
source /etc/profile
验证CUDA
安装完成 ,命令行输入:
nvcc -V
验证cuDNN
安装完成,命令行输入:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
首先安装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
验证python3
及pip3
安装成功,命令行输入:
python3 -V
pip3 -V
如果显示版本号,就代表安装成功了,如下图所示:
这里需要注意的是当安装好python3后,会发现yum无法使用,这是因为yum是依赖python2.7的,但把python改成了3.7,导致无法使用。修改一下yum里的相关依赖,命令行输入:
vim /usr/libexec/urlgrabber-ext-down
打开后将第一行的python后加上2.7,如下图:
保存退出,然后再在命令行输入:
vi /usr/bin/yum
同样在python后添加2.7并保存退出,yum即可正常使用,如下图:
命令行输入:
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!
,说明您已成功安装,如下图所示:
退出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
环境中测试,即可成功。
建立一个空文件夹(个人可以根据自己的情况安装在不同的位置),并进入上级目录:
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
使用预训练模型预测图像,快速体验模型预测效果:
# 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
执行完成后,会在PaddleDetection
的output
文件夹下生成一个画有预测结果的同名图像:
至此,服务器便可调用GPU进行目标检测。