玩转计算机视觉——按照配置部署paddleOCR(英伟达环境与昇腾300IDUO环境)

英伟达环境安装

创建虚拟环境

bash 复制代码
conda create -n paddleOCR python==3.10 -y
conda activate paddleOCR

conda install jupyterlab -y
conda install ipykernel -y
python -m ipykernel install --user --name paddleOCR --display-name "paddle OCR"

下载PaddleOCR的GPU版本

下载链接: https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/windows-pip.html

选择合适的版本执行命令行下载即可

然后直接使用pip下载panddleocr

bash 复制代码
pip install  paddleocr

昇腾300IDUO源码安装

在安装前,先确保安装好了昇腾的驱动和固件,并且安装CANN

然后添加到环境变量中

bash 复制代码
export ASCEND_HOME_PATH=/usr/local/Ascend/latest
source ${ASCEND_HOME_PATH}/set_env.sh

官方安装链接: https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/82RC1alpha002/softwareinst/instg/instg_0001.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit

下载源码

通过网盘分享的文件:PaddleOCR_Ascend.zip

链接: https://pan.baidu.com/s/1XbtJKQDoj3eKY0XRS9VMzA?pwd=e519 提取码: e519

在本篇中,代码下载后解压到目录/home/PaddleOCR_Ascend

创建虚拟环境

bash 复制代码
# 创建虚拟环境
conda create -n paddleocr python=3.9 -y
conda activate paddleocr
 
pip install -r requirements.txt
pip install paddlepaddle==2.6.1 paddle2onnx==1.2.4

准备推理模型

进入源码目录

bash 复制代码
cd /home/PaddleOCR_Ascend

创建目录并下载模型

bash 复制代码
mkdir inference
cd inference
 
wget -nc https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_server_infer.tar
tar -xf ch_PP-OCRv4_det_server_infer.tar
wget -nc https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_server_infer.tar
tar -xf ch_PP-OCRv4_rec_server_infer.tar

paddle转onnx格式

bash 复制代码
paddle2onnx --model_dir inference/ch_PP-OCRv4_det_server_infer \
    --model_filename inference.pdmodel \
    --params_filename inference.pdiparams \
    --save_file inference/det/model.onnx \
    --opset_version 11 \
    --enable_onnx_checker True
 
paddle2onnx --model_dir inference/ch_PP-OCRv4_rec_server_infer \
    --model_filename inference.pdmodel \
    --params_filename inference.pdiparams \
    --save_file inference/rec/model.onnx \
    --opset_version 11 \
    --enable_onnx_checker True

安装相关依赖

bash 复制代码
sudo yum install mesa-libGL
pip install mindspore
pip install mindspore-lite[ascend] 

onnx转mindir格式

bash 复制代码
cd /home/data
# 由于我的300i duo是arm架构,因此下载对应的工具
wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.3.0rc2/MindSpore/lite/release/linux/aarch64/cloud_fusion/python37/mindspore-lite-2.3.0rc2-linux-aarch64.tar.gz
tar -zxvf mindspore-lite-2.3.0rc2-linux-aarch64.tar.gz
# 将转换工具需要的动态链接库加入环境变量LD_LIBRARY_PATH,比如我这里装在/data/tff下
export LD_LIBRARY_PATH=/home/data/mindspore-lite-2.3.0rc2-linux-aarch64/tools/converter/lib:${LD_LIBRARY_PATH}
bash 复制代码
cd /home/data/mindspore-lite-2.3.0rc2-linux-aarch64/tools/converter/converter
./converter_lite --fmk=ONNX \
    --saveType=MINDIR \
    --optimize=ascend_oriented \
    --modelFile=/home/PaddleOCR_Ascend/inference/det/model.onnx \
    --outputFile=/home/PaddleOCR_Ascend/inference/det/model

./converter_lite --fmk=ONNX \
    --saveType=MINDIR \
    --optimize=ascend_oriented \
    --modelFile=/home/PaddleOCR_Ascend/inference/rec/model.onnx \
    --outputFile=/home/PaddleOCR_Ascend/inference/rec/model

测试

bash 复制代码
python /home/PaddleOCR_Ascend/tools/infer/predict_system.py \
  --use_mindir=True \
  --gpu_id=0 \
  --image_dir=/home/PaddleOCR_Ascend/doc/imgs/1.jpg \
  --det_model_dir=/home/PaddleOCR_Ascend/inference/det/model.mindir \
  --rec_model_dir=/home/PaddleOCR_Ascend/inference/rec/model.mindir \
  --rec_char_dict_path=/home/PaddleOCR_Ascend/ppocr/utils/ppocr_keys_v1.txt \
  --use_angle_cls=False \
  --vis_font_path=/home/PaddleOCR_Ascend/doc/fonts/simfang.ttf
相关推荐
何双新2 小时前
Odoo AI 智能查询系统
前端·人工智能·python
生命是有光的4 小时前
【机器学习】机器学习算法
人工智能·机器学习
Blossom.1184 小时前
把 AI 塞进「自行车码表」——基于 MEMS 的 3D 地形预测码表
人工智能·python·深度学习·opencv·机器学习·计算机视觉·3d
小鹿的工作手帐7 小时前
有鹿机器人:为城市描绘清洁新图景的智能使者
人工智能·科技·机器人
TechubNews8 小时前
香港数字资产交易市场蓬勃发展,监管与创新并驾齐驱
人工智能·区块链
DogDaoDao9 小时前
用PyTorch实现多类图像分类:从原理到实际操作
图像处理·人工智能·pytorch·python·深度学习·分类·图像分类
小和尚同志9 小时前
450 star 的神级提示词管理工具 AI-Gist,让提示词不再吃灰
人工智能·aigc
这张生成的图像能检测吗10 小时前
(论文速读)Prompt Depth Anything:让深度估计进入“提示时代“
深度学习·计算机视觉·深度估计
金井PRATHAMA10 小时前
大脑的藏宝图——神经科学如何为自然语言处理(NLP)的深度语义理解绘制新航线
人工智能·自然语言处理
大学生毕业题目10 小时前
毕业项目推荐:28-基于yolov8/yolov5/yolo11的电塔危险物品检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·cnn·pyqt·电塔·危险物品