paddle——站在巨人肩膀上及背刺二三事
飞桨平台 https://www.paddlepaddle.org.cn/tutorials/projectdetail/4676538
先抛结论,对于想要快速了解某一领域有哪些比较适合落地的算法的从业人员来说,是一个很好的参考系统。从中可以知道从哪些模型里选型、如何轻量化、如何加速、一些非常细节的FAQ。但是,这个框架维护上还是存在欠缺,比如很多人反馈的教程调不通,盘子铺得较大但维护没跟上;遇到一些报错的时候,相比pytorch这种大量使用的框架,能查到的解决方案较少。 我遇到的两个坑是:1、P100开发环境效果验证OK——UWSGI+NGINX搭好项目后——多进程报错,勉强单进程跑跑,网上的说法是paddle有多进程的问题,需要把import放到多进程里,但是试了一番没成功。2、同一个镜像,相同的代码,换个服务器上测试环境V100直接卡死,没有报错提示,就是卡住了,后来倒腾了几天试版本,终于通过降低paddle版本搞定。这一点网上很多人也提到了,报错信息不完善。所以,如果是新手,并需要在短期内上线服务的场景,慎重。上面吐槽了一番,但值得肯定的是,paddle在轻量化及速度上还是不错的。
如果后面的读者成功解决了UWSGI+NGINX多进程部署的问题,请分享一下你的经验。报错信息如下:
[Hint: 'cudaErrorInitializationError'. The API call failed because the CUDA driver and runtime could not be initialized. ] (at /paddle/paddle/phi/backends/gpu/cuda/cuda_info.cc:172)
一、paddleocr
一张图的ocr过程分为:文本定位——切子图,并根据长宽比旋转90度,主要是为了处理竖排文字(0、90度)——文本方向分类(0、180度)——文本识别。
在paddleocr的方向分类模块中,不仅仅依赖模型的分类输出,还会参考softmax的值,当方向分类为180且置信度大于0.9时才会将图片进行旋转180度操作。如果定位时有上下行都切出来的现象,就容易造成置信度0.5左右的分类错误。猜想是因为模型不太确定这个几个字是上下结构或左右结构。
普通的图片走完上述流程的时间在0.3s左右,如果文字较多,时间会相对增加。可以下载开源模型,然后根据场景更改一下调用流程、阈值、前处理后处理。
二、paddle其他组件
除去paddleocr外,百度还有几个专用场景套件,如PaddleClas分类、PaddleDetection检测、PaddleSeg分割、PaddleGAN、PaddleVideo、ERNIEKit语义、PLSC海量分类、ElasticCTR推荐、Parakeet语音合成、PGL图学习、PARL强化学习、Paddle Quantum量桨、PaddleHelix生物计算。
其中今后比较会用到的组件有:paddlenlp、UIE、文心大模型。
2.1PaddleNLP
2.2文心大模型
ERNIE 是百度基于transformer研发的,可视为一个比较强的中文transformer,backbone结构没什么特殊,主要是设计了一些特殊的预训练任务,有基于mask的预训练,也有迁移到不同任务上的预训练。
2.3UIE
另一个文本方面的大统一思想是UIE,本质是基于ERNIE的双指针解码(仅谈paddle的实现)
UIE教程:五条标注数据搞定快递单信息抽取,PaddleNLP信息抽取技术重磅升级! - 飞桨AI Studio
优点:教程给的是“北京市海淀区上地十街10号18888888888张三”,改成“北京市海淀区上地十街10号18888888888交款人:李白百”后还是能把名字抽出来。
from paddlenlp import Taskflowschema = ["姓名", "省份", "城市", "县区", "电话", "详细地址"]
ie = Taskflow("information_extraction", schema=schema)
res=ie("交款人:李白百 北京市海淀区上地十街10号18888888888")
print(res)
# [{'姓名': [{'text': '李白百', 'start': 4, 'end': 7, 'probability': 0.9335348137713595}], '县区': [{'text': '海淀区', 'start': 11, 'end': 14, 'probability': 0.9149133074831752}]}]
uie的其他信息:
Universal Information Extraction (UIE):Yaojie Lu等人提出了开放域信息抽取的统一框架,这一框架在实体抽取、关系抽取、事件抽取、情感分析等任务上都有着良好的泛化效果。开放域信息抽取可以实现零样本(zero-shot)或者少样本(few-shot)抽取
(杂谈)关于UIE的一点感想_常鸿宇的博客-CSDN博客_uie原理
paddle——站在巨人肩膀上及背刺二三事相关推荐
- 站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
这周Jerry在SAP上海研究院参加了一个为期4天的Kubernetes培训,度过了忙碌而又充实的4天.Jason,Benny和Peng三位大神的培训干货满满,借此机会,Jerry和过去的两位老领导P ...
- 站在巨人肩膀上优雅地分蛋糕
作者:不多爸初稿.巨人姐修订 编辑:PRS布道者 普通人并非不懂保护图片版权 我是一名软件开发工程师,和很多人一样,开了一个微信订阅号「不多不多」记录一下自己的思考与生活,目前已经发布 60 多篇文章 ...
- 站在巨人肩膀上的意思就是拒绝重复造轮子,分享12个常见的js插件
1.copy-to-clipboard (剪贴板) github/zenorocha/clipboard.js 2.FileSaver (文件另存为) github/eligrey/FileSaver ...
- 站在巨人肩膀上创新?怕是站在巨人肩膀上“打包”吧
8月15日,一则自主研发浏览器核心产品的"红芯"公司宣布完成2.5亿C轮系列融资的资讯突然在网上大量出现.称通过研发出具有我国自主知识产权的浏览器核心技术,该公司推出世界第五颗也是 ...
- 带着红领巾,站在巨人肩膀上登鼻上脸,文化或浮躁?
一.红芯事件 事件描述:8月15日,完成2.5亿c轮融资的"自主研发"红芯浏览器,被爆虚假宣传,实为基于Chrome内核修改而来. 二.我的评论 三.我认同的观点 以下从我国历史文 ...
- 腾讯:站在“山寨”肩膀上的巨人
最近几年"山寨"的话题一直没断过,山寨肯德基.山寨耐克.山寨手机等,而腾讯也当仁不让成了"山寨大王".顾名思义"山寨"一直被冠以假的成分,尤 ...
- 站在BERT肩膀上的NLP新秀们:XLMs、MASS和UNILM
作者丨高开远 学校丨上海交通大学硕士生 研究方向丨自然语言处理 写在前面 在前一篇站在 BERT 肩膀上的 NLP 新秀们(PART I)[1]介绍了两个都叫 ERNIE 的模型,思路也挺相似的,都是 ...
- 站在BERT肩膀上的NLP新秀们(PART II)
写在前面 在前一篇站在BERT肩膀上的NLP新秀们(PART I)介绍了两个都叫ERNIE的模型,非常有趣思路也挺相似的,都是给bert模型增加外部知识信息,使其能更好地"感知"真 ...
- 站在CNN肩膀上的巨大腾飞,Swin Transformer:实现对各类SOTA的降维打击
作者丨陀飞轮@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/360513527 导读 本文介绍了一种称为Swin Transformer的新型transformer, ...
- EOS原力孤矢:站在EOS肩膀上,看齐BTC
FBEC2018 由深圳市互联网文化市场协会指导,游戏陀螺.陀螺财经联合主办的2018未来商业生态链接大会暨第三届金陀螺奖颁奖盛典(简称"FBEC2018")将于2018年12月在 ...
最新文章
- 《JavaScript面向对象编程指南》——第1章 引言1.1 回顾历史
- Java:按值传递还是按引用传递详细解说
- 『雕虫小技』用 Zend Guard 加密 html 页面
- android alertdialog_Android进阶:Activity设置主题背景后AlertDialog的背景随之改变的问题分析
- java读取html文件内容的代码_【代码审计】xyhcms3.5后台任意文件读取
- 大一c语言程序考试常考程序题,C语言程序常考题
- 城市数字孪生解决方案
- 安川机器人仿真软件MOTOSIM EG
- vue-oss阿里云上传图片
- 层次分析之算术平均法、几何计算法、特征值法计算权重 matlab实现
- Android-Material-Sloth
- 三种查询IP归属地的接口
- Kafka同步发送与异步发送消息
- Python3.x 标准模块库目录(下篇)
- 单目标跟踪算法调研(2020)
- [node.js] Promise中,resolve, reject 之后需不需要 return?
- 计算机主板的主要作用,计算机主板的作用
- 非对称密码体制(公钥密码体制)中最基础的思路——MOD的运算
- 获取任意时间前几分钟前的时间点的方法
- Android Studio 单工程、多工程级联依赖下的aar的引用