- 背景
- windows下安装
- 1、环境
- 2、使用
- linux下部署
- 1、环境
- 环境1号坑--paddlepaddle的avx问题
- 环境2号坑--gcc版本
- 环境3号坑--No module named ‘_lzma’
- 环境4号坑--其他小坑
- 总结
- 2、部署
无非就是工作需要罢了
首先在windows下直接用依赖的方法很容易就安装下来了并且可以正确执行demo,但是需要花差不多3秒钟来分析图片,对比百度云服务的接口(0.x秒级别)肯定是差距很大的,我就想会不会是模型每次需要加载的原因,所以后面在linux环境下用编译的方式部署,这里主要记录一下linux环境遇到的问题
首先找到了这个开源的PaddleOCR版本,打算先在自己电脑上运行起来试一下。
在windows环境下安装的很顺利,这里完全按照官方文档来操作即可
链接: PaddleOCR 快速开始.
python 3.7
由于使用GPU版本的需要安装很多东西,比较麻烦,而且只是先试运行,就直接安装的cpu版本
python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
安装PaddleOCR whl包,这里也使用的百度镜像源,如果有个别包下不下来,根据报错用清华源即可
pip install "paddleocr>=2.0.1" # 推荐使用2.0.1+版本
还有一句官方提示,但是我没有遇到这个问题:
对于Windows环境用户:直接通过pip安装的shapely库可能出现[winRrror 126] 找不到指定模块的问题。建议从 这里下载shapely安装包完成安装。
2、使用这里上面的文档提供了demo和图片等详细指令,就不再多做说明,这个文档主要是想记录一下我遇到的问题
linux下部署 1、环境这里环境我真是吃了大亏,官方文档太分散了,并没有很集中的说明。
1、首先打算用快速安装的方法,我最先看到他有docker方式和CPU环境使用方式,就没有在意,后面捣鼓了两天发现最前面有一个GPU!!!
2、后面决定用PaddleHub Serving的服务部署方法,从这里开始坑就大了起来。
因为官方一直建议的python3.7,然后我也一直用的python3.7的环境,但是一直会有各种莫名其妙的报错,能完整的安装完依赖包但是运行的时候也会报错,后面仔细看才发现了一句重要提示,但是这一句每次都只是警告,并不是明显报错,报错的都是其他提示信息,所以导致我一直忽略“No module named ‘paddle.fluid.core_noavx‘”,说我的机器根本不支持avx要安装noavx版本的paddlepaddle,然后就去 官网找。
结果恐怖的来了,python3.7版本根本就没有noavx版本的whl,于是重新安装python3.8
由于这些教程文档,一直都没有说需要指定gcc的版本,所以我也根本就没有管这个(正常人谁想的到),然后运行的时候也就是各种报错咯,最后的最后,偶然情况下,在官网看到了需要gcc5.4/8.2版本,当时内心真是一万只xx马崩腾啊,因为前面已经折腾了好几天了。没办法只能升级gcc,然后重新安装编译python
这里备注说明一下,gcc的安装网上一搜一大把,但是最后的make操作非常耗时间,我是晚上起一个进程挂着跑完的。
import librosa
import lzma
上面两个操作都会引起这个错误:
ModuleNotFoundError: No module named ‘_lzma’
安装lzma包没什么用
pip3 install backports.lzma (可能需要sudo)
然后根据你报错的文件路径 修改原本就存在的lmza.py文件
比如我是把 /usr/local/lib/python3.8/lzma.py
修改如下:
try: from _lzma import * from _lzma import _encode_filter_properties, _decode_filter_properties except ImportError: from backports.lzma import * from backports.lzma import _encode_filter_properties, _decode_filter_properties环境4号坑–其他小坑
再其他报错就是见招拆招了,没有遇到特别难忘的错误了
总结python 3.8 gcc 8.2
结合两个文档Linux下从源码编译和快速启动服务
2、部署这里不做过多描述了,完全就是按照官方文档来操作,但是这里还是记录一个文档,获得了一些帮助
百度飞浆 PaddleOCR HubServing的部署 (CentOS 7)
然后就是模型的下载
因为linux编译部署需要下载模型解压到对应文件夹,其中文本方向分类模型用wget下载的解压不了,只能在windows环境解压了然后上传上去
附上下载地址
PP-OCR系列模型列表
文章到这里就结束了,主要记录一下问题,后续也会继续研究学习,欢迎讨论交流~