• Ubuntu 23.10:内网安装rapidocr_paddle(GPU)及其前置准备


    Ubuntu 23.10:内网安装rapidocr_paddle(GPU)及其前置准备 – WhiteNight's Site

    标签:Linux, ocr, ubuntu, 系统相关

    安装NVIDIA驱动、安装CUDA&&CUDNN、安装…

    rapidocr_paddle主要是用于ocr识别的引擎。本文主要针对于“如何在内网环境下安装相关驱动以及软件”。这里先放上要用到的网站:

    以及相关的文档,碰到本文没提到的问题可以去这里面找:

    这里顺便附上写者的电脑环境,以便对照:

    • 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的就行。

    下载完后传到虚拟机上,给执行权限后再执行安装

    1. chmod +777 NVIDIA-Linux-x86_64-525.147.05.run
    2. ./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。

    下载完后和显卡驱动一样,先给权限再安装

    1. chmod +777 cuda_12.3.2_545.23.08_linux.run
    2. ./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路径有没有相关的文件夹,或者文件夹名字对不对的上。

    1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    2. export PATH=$PATH:/usr/local/cuda/bin
    3. export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

    此时输入nvcc -V能得到以下输出就是安装成功了。

    1. root@ubuntu:/home/test# nvcc -V
    2. nvcc: NVIDIA (R) Cuda compiler driver
    3. Copyright (c) 2005-2023 NVIDIA Corporation
    4. Built on Wed_Nov_22_10:17:15_PST_2023
    5. Cuda compilation tools, release 12.3, V12.3.107
    6. 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包后解压,如果你在用户目录解压的话,路径应该是这个,看自己在哪里解压的吧。

    1. tar xvf cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz
    2. cd /home/test/cudnn-linux-x86_64-8.9.5.30_cuda12-archive

    接下来手动把相关的文件复制到cuda的目录下。相关路径可能需要根据自己虚拟机的情况进行修改。复制完之后记得加上权限。

    1. cp include/cudnn.h /usr/local/cuda/include
    2. cp lib/libcudnn* /usr/local/cuda/lib64
    3. chmod +777 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

    安装paddle

    pip安装

    官方这都写的很清楚了。CUDA 12.x的装post120就行。内网pip源没有的话也是外网下完再拖进内网虚拟机。还得看自己电脑支不支持avx,支持的话用第一个链接。

    装完之后就可以验证了。进入python。输入以下代码,应该能得到对应的结果。

    1. import paddle
    2. import cv2 #和paddle无关,只是测下opencv有没有安装成功
    3. paddle.utils.run_check()
    1. Python 3.10.13 (main, Feb 4 2024, 06:33:33) [GCC 13.2.0] on linux
    2. Type "help", "copyright", "credits" or "license" for more information.
    3. >>> import paddle
    4. >>> paddle.utils.run_check()
    5. Running verify PaddlePaddle program ...
    6. I0221 06:25:23.755407 1275918 interpretercore.cc:237] New Executor is Running.
    7. 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
    8. W0221 06:25:23.758528 1275918 gpu_resources.cc:149] device: 0, cuDNN Version: 8.9.
    9. I0221 06:25:24.685256 1275918 interpreter_util.cc:518] Standalone Executor is Used.
    10. PaddlePaddle works well on 1 GPU.
    11. PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

    最后能报successfully就说明安装成功了。接下来直接python -m pip安装rapidocr就行。

  • 相关阅读:
    Linux进程
    jvm内存和线程信息查看
    软件工程一些图的画法
    浅谈大数据背景下数据库安全保障体系
    Rust权威指南之编写一个猜数字游戏
    vscode使用内置插件断点调试vue2项目
    Kmeans算法的K值选择技巧【Elbow Method + Silhouette Score Method】
    最全phpmyadmin漏洞汇总
    分布式事务详解
    力扣 2370. 最长理想子序列
  • 原文地址:https://blog.csdn.net/white_night_SZTU/article/details/136211315