Ubuntu 23.10:内网安装rapidocr_paddle(GPU)及其前置准备 – WhiteNight's Site
标签:Linux, ocr, ubuntu, 系统相关
安装NVIDIA驱动、安装CUDA&&CUDNN、安装…
rapidocr_paddle主要是用于ocr识别的引擎。本文主要针对于“如何在内网环境下安装相关驱动以及软件”。这里先放上要用到的网站:
- GPU端的rapidocr_paddle
- CUDA下载仓库
- CUDNN下载
- NVIDIA驱动(Linux x86)安装
- 安装paddle
以及相关的文档,碰到本文没提到的问题可以去这里面找:
- NVIDIA官方文档:安装CUDN与CUDNN(显卡为Tesla系)
- NVIDIA官方文档:安装CUDN
这里顺便附上写者的电脑环境,以便对照:
- Ubuntu 23.10 服务器版的虚拟机,所以无图形化界面。
- 内网环境。内网apt-get源无cuda与cudnn。
- Data center/Tesla T4显卡。
- Python 3.10.13
- x86。
前置准备
安装opencv
先装libGL,这是等会安装opencv-python要用到的依赖包。
apt-get install libgl1
接下来安装opencv-python,这样才能在python中导入cv2包。
python -m pip install opencv-python
安装完进python看看能不能import cv2,能就说明安装成功了。
确认GPU类型与型号
Tesla、Titan、Geforce…
安驱动前得看自己显卡型号是什么。如果你的机子之前有安装过nvidia驱动,可以输以下代码查看显卡型号。没有的话就问问机房的人。
nvidia-smi
确认完之后就该安装驱动了,x86/amd64的直接安linux x86的就行。
下载完后传到虚拟机上,给执行权限后再执行安装
chmod +777 NVIDIA-Linux-x86_64-525.147.05.run
./NVIDIA-Linux-x86_64-525.147.05.run
一路enter过去就行,安装到最后一步会提示“xxx now complete”。此时输入nvidia-smi就能看到显卡信息了。
nvidia-smi
安装CUDA与CUDNN
.run与.tar.xz
CUDA没啥,下载自己需要的版本然后安装就行。我需要的是“能跑就行”,所以下的最新版本12.3.2。
下载完后和显卡驱动一样,先给权限再安装
chmod +777 cuda_12.3.2_545.23.08_linux.run
./cuda_12.3.2_545.23.08_linux.run
安装的时候还需要注意,选安装组件的时候不要勾选第一项的Driver,因为上面已经安装过显卡驱动了。这里只需要安装和CUDA有关的东西就行。
如果安装失败,缺这缺那的,配内网的apt-get源然后安装以下依赖。没内网apt-get源或者内网apt-get源没有的话就外网下好再丢内网安装。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
安装完看看效果,先配置环境变量。
vi ~/.bashrc
再把以下内容直接复制到最后面。如果不放心可以先看看对usr/local路径有没有相关的文件夹,或者文件夹名字对不对的上。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
此时输入nvcc -V能得到以下输出就是安装成功了。
root@ubuntu:/home/test# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Wed_Nov_22_10:17:15_PST_2023
Cuda compilation tools, release 12.3, V12.3.107
Build cuda_12.3.r12.3/compiler.33567101_0
安装完CUDA还没完,还差个cudnn。这个就比较麻烦。得去找对应版本的cudnn。如果你CUDA安装的是12.0或者以上(12.x)的版本,那么cudnn至少也得是8.9.1及以上(8.9.x)的版本。
我用的8.9.5,记得看对应的CUDA版本是11.x还是12.x的。
下载也有讲究。我一开始下的deb包,dpkg -i安装完,进python验证的时候发现cuda识别不到cudnn,提示缺libcudnn。
搞了半天也没搞定。所以建议直接下tar包解压,省心。外网的话可以试试deb包然后装相关依赖。
下载完tar包后解压,如果你在用户目录解压的话,路径应该是这个,看自己在哪里解压的吧。
tar xvf cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz
cd /home/test/cudnn-linux-x86_64-8.9.5.30_cuda12-archive
接下来手动把相关的文件复制到cuda的目录下。相关路径可能需要根据自己虚拟机的情况进行修改。复制完之后记得加上权限。
cp include/cudnn.h /usr/local/cuda/include
cp lib/libcudnn* /usr/local/cuda/lib64
chmod +777 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
安装paddle
pip安装
官方这都写的很清楚了。CUDA 12.x的装post120就行。内网pip源没有的话也是外网下完再拖进内网虚拟机。还得看自己电脑支不支持avx,支持的话用第一个链接。
装完之后就可以验证了。进入python。输入以下代码,应该能得到对应的结果。
import paddle
import cv2 #和paddle无关,只是测下opencv有没有安装成功
paddle.utils.run_check()
Python 3.10.13 (main, Feb 4 2024, 06:33:33) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle
>>> paddle.utils.run_check()
Running verify PaddlePaddle program ...
I0221 06:25:23.755407 1275918 interpretercore.cc:237] New Executor is Running.
W0221 06:25:23.757426 1275918 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.0, Runtime API Version: 12.0
W0221 06:25:23.758528 1275918 gpu_resources.cc:149] device: 0, cuDNN Version: 8.9.
I0221 06:25:24.685256 1275918 interpreter_util.cc:518] Standalone Executor is Used.
PaddlePaddle works well on 1 GPU.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
最后能报successfully就说明安装成功了。接下来直接python -m pip安装rapidocr就行。