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') # 保存结果
文章出处登录后可见!
已经登录?立即刷新