环境安装(paddle版本2.6,cuda10.2 cudnn7)
默认已经下载完项目
1.创建新的conda虚拟环境
conda create -p /data/anaconda/envs/paddle python=3.7
2.激活进入
conda activate paddle
3.安装paddle-gpu
python -m pip install paddlepaddle-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install "paddleocr>=2.0.1"
如果出现 protobuf 版本不符需改变版本并且更正 onnx版本 (降低)
protobuf版本为3.20.0 onnx版本更正为1.12.0
pip install "protobuf==3.20.0"
pip install "onnx==1.12.0"
运行
下载官网模型,有三个,一个是检测模型,第二个是方向模型,第三个是文字检测模型,项目中新建目录inference,并将下载好的模型解压放在目录下。
python tools/infer/predict_system.py --image_dir ./img_dir/2009291F12H434-0-lp.jpg --det_model_dir ./inference/ch_PP-OCRv3_det_infer/ --rec_model_dir ./inference/ch_PP-OCRv3_rec_infer/ --cls_model_dir ./inference/ch_ppocr_mobile_v2.0_cls_infer/
测试照片为上图
运行时cpu正常,结果为
gpu报错,
仔细查看原因 cuda10.2系统自带cudnn是8. x版本,但是paddle对应cuda10.2为7.x版本。
解决方案1:将usr/local/cuda-10.2/include中的cudnn替换为7.x 由于是公司服务器换了大家环境不能用了
解决方案2:在conda 虚拟环境中下载10.2和cudnn7.x 这时需要将conda环境加入系统环境变量否则会报错
FatalError: Segmentation fault
is detected by the operating system.
使用conda list 查看
加入虚拟环境命令行:export LD_LIBRARY_PATH=/***/anaconda3/envs/padocr/lib:$PATH 你自己的conda环境,具体位置可以用conda env list 查看
gpu成功运行结果为