玩转计算机视觉——按照配置部署paddleOCR(英伟达环境与昇腾300IDUO环境)
英伟达环境安装
创建虚拟环境
conda create -n paddleOCR python==3.10 -y
conda activate paddleOCRconda 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
pip install paddleocr
昇腾300IDUO源码安装
在安装前,先确保安装好了昇腾的驱动和固件,并且安装CANN
然后添加到环境变量中
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
下
创建虚拟环境
# 创建虚拟环境
conda create -n paddleocr python=3.9 -y
conda activate paddleocrpip install -r requirements.txt
pip install paddlepaddle==2.6.1 paddle2onnx==1.2.4
准备推理模型
进入源码目录
cd /home/PaddleOCR_Ascend
创建目录并下载模型
mkdir inference
cd inferencewget -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格式
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 Truepaddle2onnx --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
安装相关依赖
sudo yum install mesa-libGL
pip install mindspore
pip install mindspore-lite[ascend]
onnx转mindir格式
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}
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
测试
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