记录–Ubuntu18.04、RTX3090安装Cuda11.0和PaddleOCR

​​​​​​​

content

1–安装Cuda11.0

准备步骤:

①禁用nouveau:

sudo gedit /etc/modprobe.d/blacklist.conf

在弹出的文本末尾,添加黑名单:

blacklist nouveau

②保存后,执行以下两条命令重启:

sudo update-initramfs -u

reboot

③ 输入命令测试是否禁用成功:(无输出,表示禁用成功)

lsmod | grep nouveau

Step1:检查Cuda驱动版本:

nvidia-smi

 记住驱动版本(Driver Version),上图为455.23.04;

Step2:下载Cuda11.0:

NVIDIA CUDA驱动版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive[0]

cudnn下载地址 :cuDNN Archive | NVIDIA Developer[0]

 注意上图绿框的版本是低于Step1的驱动版本号的(很重要!),依次实行两个命令即可:第一个命令将下载Cuda11.0,第二个命令则为安装。

wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.runsudo sh cuda_11.0.3_450.51.06_linux.run

sudo sh cuda_11.0.3_450.51.06_linux.run

需要强调的是,安装过程中,第一步是输入acceopt,第二步要选择不安装驱动,即取消驱动安装的X号(空格键)。

Step3:配置Cuda环境变量

输入命令:

sudo gedit ~/.bashrc

在文末添加如下路径:

export PATH="/root/anaconda3/bin:$PATH"
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

输入命令:

source ~/.bashrc

Step4:测试是否安装成功:

nvcc -V

cat /proc/driver/nvidia/version # 这里可能你需要更新gcc的版本,见其它回答

2–安装CuDNN 8.04

Step1:下载CuDNN 8.04

 Step2:解压

tar -xzvf cudnn-11.0-linux-x64-v8.0.5.39.tgz

 Step3:拷贝文件到cuda安装目录,并给予执行权限

sudo cp -d cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp -d cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

Step4:测试是否安装成功:

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

3–安装PaddleOCR

Step1:进入以下网址,安装对应Cuda版本的PaddlePaddle

PaddlePaddle官方地址[0]

 Step2:参考PaddleOCR官方安装文档配置环境

官方文档配置环境(不一定要求Cuda10.2)[0]

Step3:参考官方安装文档安装相应的包

官方安装文档[0]

 Step4:运行一个Demo测试是否安装成功

 要用gpu测试哦,这样才能知道Cuda和Cudnn是否正确安装和是否能够加速

paddleocr --image_dir ./imgs/11.jpg --use_angle_cls true --use_gpu true

4–Demo记录

# 简单Demo:检测+识别

from paddleocr import PaddleOCR, draw_ocr  # 导入第三方库
import numpy as np

# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`

ocr = PaddleOCR(use_angle_cls=True, lang="ch")  # lang表示语言的选择

img_path = './ppocr_img/imgs/11.jpg' # 测试图片的路径
result = ocr.ocr(img_path, cls=True) # 结果

# 打印结果,为一个list,即包含文本框的坐标,识别的文字及其置信度大小
print('shpae:', np.array(result).shape) # 维度大小
for line in result:
    print(line)


# 可视化结果
from PIL import Image

image = Image.open(img_path).convert('RGB') # 读取图像并转换为RGB格式
boxes = [line[0] for line in result] # 存储文本框的坐标
txts = [line[1][0] for line in result] # 存储识别得到的文字
scores = [line[1][1] for line in result] # 存储文字的置信度分数
#im_show = draw_ocr(image, boxes, txts, scores, font_path='./doc/fonts/simfang.ttf')
im_show = draw_ocr(image, boxes, txts, scores, font_path='/root/Downloads/PaddleOCR-release-2.4/doc/fonts/simfang.ttf') # 使用指定字体绘图
im_show = Image.fromarray(im_show) # 实现Array到image的转换

im_show.save('./Result/11.jpg') # 保存结果

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2022年4月28日
下一篇 2022年4月28日

相关推荐