这篇文章上次修改于 699 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
本篇文章默认您已经按照《GPU Docker 环境的配置与 Docker 相关注意事项》中所述的内容在宿主机上部署好环境。
话不多说,进入正题。
正文
容器镜像选择
笔者选择包版本较为落后但稳定可靠的CentOS 7镜像,您可以根据自己的需求自主选择镜像,但强烈建议您直接选择带cudnn环境的镜像以避免去nvidia官网下载cudnn(需要登录/注册)。
注意:本文接下来的内容均针对CentOS镜像。
拉取镜像并创建一个容器:
docker pull nvidia/cuda:11.2.0-cudnn8-runtime-centos7
docker run -itd --name pptest --gpus all nvidia/cuda:11.2.0-cudnn8-runtime-centos7
在上述命令执行完毕后查看容器是否正常运行:
docker ps
下文操作均在容器内进行,先切换到容器:
docker exec -it pptest /bin/bash
安装基础环境
老规矩,先装EPEL:
yum install epel-release -y
yum clean && yum makecache && yum update
然后就可以开始装基础环境了:
Tips: 由于CentOS 7官方源包版本老旧,如果您的程序要求python >= 3.7,请自行编译安装。
yum install -y gcc gcc-c++ zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel python3 python3-devel xz-devel libffi-devel make mesa-libGL.x86_64 lmdb lmdb-devel libpcap-devel wget patch
然后通过cmake官方提供的脚本安装cmake(CentOS 7官方源最高只有cmake 2.x,然而下文中opencv-python的安装需要cmake >= 3.9进行编译,故采用脚本安装):
cd /usr/local
mkdir cmake-3.21
cd cmake-3.21
wget https://github.com/Kitware/CMake/releases/download/v3.21.0-rc2/cmake-3.21.0-rc2-linux-x86_64.sh -O cmake.sh
chmod +X cmake.sh
bash cmake.sh
ln -s /usr/local/cmake-3.21/bin/cmake /usr/bin/cmake
至此基础环境部署完毕。
安装PaddlePaddle-GPU与PaddleOCR及依赖环境
奇奇怪怪的依赖关系:
先装一下py的cmake:
python3 -m pip install cmake -i https://pypi.tuna.tsinghua.edu.cn/simple
之后安装skbuild(OpenCV编译需要):
python3 -m pip install scikit-build
关于PaddlePaddle-GPU版本的选择,您可以根据飞桨官方文档的建议安装:
笔者的环境是Cuda11.2,您可根据自身情况选择合适的版本:
python3 -m pip install paddlepaddle-gpu==2.1.1.post112 -f https://paddlepaddle.org.cn/whl/mkl/stable.html
最后装上PaddleOCR:
python3 -m pip install paddleocr
至此,全部环境安装完成,您可通过Python调用PaddleOCR进行文字识别。
注意事项
必要的CUDNN环境
如果您选择的镜像并未内置CUDNN,请根据镜像的CUDA版本选择相应的CUDNN Lib进行安装。
PaddlePaddle和PaddlePaddle-GPU
笔者非常不建议您同时安装PaddlePaddle和PaddlePaddle-GPU,因为这可能导致一些奇奇怪怪的问题:
选择对应的PaddlePaddle-GPU版本
如果安装了不和Cuda版本对应的PaddlePaddle-GPU版本会导致一系列异常,故笔者建议您仔细阅读飞桨官方文档并安装正确的PaddlePaddle版本。
没有评论