当前位置: 首页 > 后端技术 > Python

Paddle实现机器学习

时间:2023-03-26 17:27:28 Python

1:Paddle简介Paddle是国内唯一一个功能齐全的端到端开源深度学习平台,集深度学习训练与预测框架、模型库、工具组件和服务于一体的平台是具有五大优势:灵活高性能的开发机制、工业级应用效果模型、超大规模并行深度学习能力、推理引擎一体化设计、系统化服务支持。它致力于使深度学习技术更加先进。创新和应用更简单。Paddle提供的70+官方模型均在真实应用场景中得到有效验证。不仅包括更懂中文的NLP模型,还开源了多个视觉领域国际大赛冠军算法。支持python,C++PaddleNLP是一个简单易用、功能强大的自然语言处理开发库。聚合业界优质预训练模型,提供开箱即用的开发体验。涵盖多种NLP场景和行业实践案例的模型库,满足开发者灵活定制需求。GPU测试工具https://aistudio.baidu.com/免费领取算力2:Paddle相关地址官网:https://www.paddlepaddle.org.cn/paddle/paddlenlpgithub:https://github。com/PaddlePaddle/PaddleNLP文档:https://paddlenlp.readthedocs.io/zh/latest/3:PaddleNLP安装环境依赖python>=3.7paddlepaddle>=2.3pipinstall--upgradepaddlenlp安装成功后提示错误解决方法:pipinstall--upgradepaddlepaddle如果安装不了,可以通过更换国内源解决pipinstall--upgradepaddlepaddle-ihttp://pypi.douban.com/simple--trusted-hostpypi.douban.com常用国内镜像源地址:中国科学技术大学https://pypi.mirrors.ustc.edu.cn/simple/清华大学https://pypi.tuna.tsinghua.edu.cn/simple/阿里云http://mirrors.aliyun.com/pypi/simple/中国科学技术大学http://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban)http://pypi.douban.com/simple/四:PaddleNLP开箱即用的NLP工具集丰富完整的中文模型库行业级端到端系统实例高性能分布式训练与推理5:PaddleNLP使用1:中文分词PaddleNLP提供多种分词模式,满足快速分词和实体粒度准确分词,训练数据来自百度自建数据集,包含近2200万句,涵盖多种场景>>>frompaddlenlpimportTaskflow#默认模式——实体粒度词segmentation,准确率和速度的权衡,基于百度LAC>>>seg=Taskflow("word_segmentation")>>>seg("近日,国家卫健委发布第九版新型冠状病毒感染的肺炎诊疗方案")['近期','国家卫健委','发布','第九版','新增','冠状病毒肺炎','诊断','方案']#快速模式——————最快:实现快速文本分词,基于jieba中文分词工具>>>seg_fast=Taskflow("word_segmentation",mode="fast")>>>seg_fast("国家卫健委近日发布第九版新型冠状病毒肺炎诊疗方案")['近期','国家','卫生健康Commission','Release','NinthEdition','New','coronavirus','pneumonia','diagnosisandtreatment','plan']#Precise模式————最准确:实体粒度分割最高accuracy,基于百度解语#Accurate模式是基于预测训练模型更适合实体粒度分词的需求n,适用于知识图谱构建、企业搜索查询分析等场景>>>seg_accurate=Taskflow("word_segmentation",mode="accurate")>>>seg_accurate("最近全国健康第九版委印发的冠状病毒肺炎诊疗方案")['近期','国家卫健委','发布','第九版','新型冠状病毒肺炎','诊疗方案','方案']批量样本输入,平均速度更快>>>frompaddlenlpimportTaskflow>>>seg=Taskflow("word_segmentation")>>>seg(["第十四届全运会在西安举行","三亚是一个美丽的城市"])[['第十四届','全运会','在','西安','举办'],['三亚','是','一','美丽','的','city']]创建自定义分词的user_dict.txt文件,内容如下>>>frompaddlenlpimportTaskflow>>>seg=Taskflow("word_segmentation")>>>seg("平原上的火焰宣布推迟")['Plain','On','of','Flame','Announced','推迟','发布']>>>seg=Taskflow("word_segmentation",user_dict="user_dict.txt")>>>seg("平原上的火焰宣布推迟")['平原上的火焰plain','announced','postponed','on','shown']2:文本纠错>>>frompaddlenlpimportTaskflow>>>corrector=Taskflow("text_correction")#singleinput>>>corrector('遇到逆境要勇敢面对,越挫折越勇敢')[{'source':'遇到逆境要勇敢面对,越挫折越挫败,我们变得越勇敢。','target':'遇到逆境要勇敢面对,越挫折越勇敢。','errors':[{'position':3,'correction':{'event':'environment'}}]}]#批量预测>>>corrector(['我们要勇敢的面对它,而你一定要在挫折中变得更加勇敢。','生活就是这样,只有经过磨练,我们才能让自己变得更坚强,更乐观。'])[{'source':'当我们遇到逆境时,我们要勇敢地去面对,当你感到沮丧时,你必须变得更加勇敢。','target':'遇到逆境要勇敢面对,越挫折越勇敢。','errors':[{'position':3,'correction':{'actually':'Circumstance'}}]},{'source':'人生就是这样,只有经过磨练才能做出自己越笨拙,才能让自己越乐观。','target':'人生就是这样,只有经过磨练,才能让自己变得更坚强,更乐观。','errors':[{'position':18,'correction':{'clumsy':'恶'}}]}]3:文本相似度基于百万级DureaderRetrieval数据集训练RocketQA达到frontier收集了文本相似度效果数据集的来源。百度知道有2200万对相似句组。有多种型号可供选择。默认选择具有最大词典的模型。其他模型平衡精度和速度,没有自定义训练>>>frompaddlenlpimportTaskflow>>>similarity=Taskflow("text_similarity")>>>arr=[["乌克兰回应“Zelensky'sdoublewasphotosed”:是是保镖吗?","乌克兰回应泽连斯基使用替身,是第三方保镖吗?"]]>>>res=similarity(arr)[{'text1':'乌克兰回应"泽连斯基替身被拍到”:保镖?','text2':'乌克兰方面回应泽连斯基使用替身,是第三方保镖吗?','similarity':0.8714959621429443}]>>>similarity=Taskflow("text_similarity",model='rocketqa-base-cross-encoder')>>>res=similarity(arr)[{'text1':'乌克兰回应“泽连斯基替身被拍”:是保镖?','text2':'乌克兰方面回应泽连斯基使用替身,是第三方保镖吗?','similarity':0.5669652819633484}]4:情感分析集成了BiLSTM、SKEP、UIE等模型,支持评论维度、观点抽取、情感极性分类等情感分析任务。导入任务流>>>similarity=Taskflow("text_similarity")>>>schema=['情绪倾向[积极,消极]']>>>senta=Taskflow("sentiment_analysis",model="uie-senta-base",schema=schema)senta("这家店很友好,价格也很便宜")[{'情绪倾向[积极,消极]':[{'文本':'积极','概率':0.9953493324753282}]}]>>>senta("这家店感觉不是很干净")[{'情绪倾向[positive,negative]':[{'text':'negative','probability':0.9996670165660646}]}]5:GenerativeQ&A使用最大的中文开源CPM模型完成问答,包9.6G>>>frompaddlenlpimportTaskflow>>>qa=Taskflow("question_answering")#单次输入>>>qa("中国的国土面积有多大?")[{'text':'中国的国土面积有多大?','answer':'960万平方公里'}]#多路输入>>>qa(["中国国土面积有多大?","中国首都在哪里?"])[{'text':'中国的国土面积有多大?','answer':'960万平方公里。'},{'text':'中国的首都在哪里?','answer':'北京。'}]6:Textsummary>>>frompaddlenlpimportTaskflow>>>summarizer=Taskflow("text_summarization")#singleinput>>>summarizer('2022年,中国房地产行业将进入转型阵痛期,而传统的“高杠杆、快回暖”模式难以为继,万科甚至直接宣布中国房地产进入“黑铁时代”')#output:['万科宣布中国房地产进入“黑铁时代”']summarizer("26日下午,日本冲绳县市民团体组织大规模集会,反对日本政府去年12月通过的新版《国家安全保障战略》等三项安保政策文件。下午,日本全国1600多人聚集在冲绳县市民广场,发表了《反对安保》、《反对冲绳机场港湾军事化》、《反对部署导弹》、《不需要美军的三份文件》。基地”和o这些口号,反对日本政府企图重回战争道路。")#Output:['日本民众集会反对安倍部署导弹']7:文档智能采用多语言跨模态布局增强文档预训练模型ERNIE-Layout为核心库,依赖飞桨OCR功能,比如识别发票中的信息>>>frompaddlenlpimportTaskflow>>>docprompt=Taskflow("document_intelligence")>>>pprint(docprompt([{"doc":"invoice.jpg","prompt":["发票号码是多少?”,“校验码是多少?”,“账单日期是什么时候?”,“总额是多少?”,“谁是账单人?”]}]))#Output[{'prompt':'发票号码是多少?','result':[{'end':16,'prob':1.0,'start':16,'value':'No05152193'},{'end':23,'prob':0.79,'start':23,'value':'05152193'}]},{'prompt':'校验码是什么?','result':[{'end':253,'prob':1.0,'start'':249,'value':'10534793510918286662'}]},{'prompt':'账单日是什么时候?','result':[{'end':35,'prob':1.0,'start':30,'value':'2月19日,2023'}]},{'prompt':'总数是多少?','result':[{'end':170,'prob':0.62,'start':168,'value':'339.62'}]},{'提示':'谁是开票人?','结果':[{'end':285,'prob':1.0,'start':283,'value':'灵秦剑'}]}]