热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Paddle简介

本文主要介绍关于的知识点,对【Paddle简介】和【2017年以来】有兴趣的朋友可以看下由【weixin_43166986】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【】相关技术问题。20

本文主要介绍关于的知识点,对【Paddle简介】和【2017年以来】有兴趣的朋友可以看下由【weixin_43166986】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【】相关技术问题。

2017年以来

PaddlePaddle是百度公司提出的深度学习框架。近年来深度学习在很多机器学习领域都有着非常出色的表现,在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊断和金融等领域有着广泛应用。面对繁多的应用场景,深度学习框架有助于建模者节省大量而繁琐的外围工作,更聚焦业务场景和模型设计本身。

深度学习框架优势

使用深度学习框架完成模型构建有如下两个优势:
1:节省编写大量底层代码的精力:屏蔽底层实现,用户只需关注模型的逻辑结构。同时,深度学习工具简化了计算,降低了深度学习入门门槛。
2:省去了部署和适配环境的烦恼:具备灵活的移植性,可将代码部署到CPU/GPU/移动端上,选择具有分布式性能的深度学习工具会使模型训练更高效。

深度学习框架设计思路

深度学习框架的本质是框架自动实现建模过程中相对通用的模块,建模者只实现模型个性化的部分,这样可以在“节省投入”和“产出强大”之间达到一个平衡。我们想象一下:假设你是一个深度学习框架的创造者,你期望让框架实现哪些功能呢?
相信对神经网络模型有所了解的读者都会得出如 表1 所示的设计思路。在构建模型的过程中,每一步所需要完成的任务均可以拆分成个性化和通用化两个部分。
个性化部分:往往是指定模型由哪些逻辑元素组合,由建模者完成。
通用部分:聚焦这些元素的算法实现,由深度学习框架完成。

深度学习框架设计示意图

表1:深度学习框架设计示意图

无论是计算机视觉任务还是自然语言处理任务,使用的深度学习模型结构都是类似的,只是在每个环节指定的实现算法不同。因此,多数情况下,算法实现只是相对有限的一些选择,如常见的Loss函数不超过十种、常用的网络配置也就十几种、常用优化算法不超过五种等等。这些特性使得基于框架建模更像一个编写“模型配置”的过程。

飞桨开源深度学习平台

百度出品的深度学习平台飞桨(PaddlePaddle)是主流深度学习框架中一款完全国产化的产品,与Google TensorFlow、Facebook Pytorch齐名。2016 年飞桨正式开源,是国内首个全面开源开放、技术领先、功能完备的产业级深度学习平台。相比国内其他平台,飞桨是一个功能完整的深度学习平台,也是唯一成熟稳定、具备大规模推广条件的深度学习平台。
飞桨源于产业实践,始终致力于与产业深入融合,与合作伙伴一起帮助越来越多的行业完成AI赋能。目前飞桨已广泛应用于医疗、金融、工业、农业、服务业等领域,如 图1 所示。此外在新冠疫情期间,飞桨积极投入各类疫情防护模型的开发,开源了业界首个口罩人脸检测及分类模型,辅助各部门进行疫情防护,通过科技让工作变得更加高效。

图1:飞桨在各领域的应用

飞桨开源深度学习平台全景

飞桨以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体,为用户提供了多样化的配套服务产品,助力深度学习技术的应用落地,如 图2 所示。飞桨支持本地和云端两种开发和部署模式,用户可以根据业务需求灵活选择。

图2:飞桨PaddlePaddle组件使用场景 概览


概览图上半部分是从开发、训练到部署的全流程工具,下半部分是预训练模型、各领域的开发套件和模型库等模型资源。
框架和全流程工具
飞桨在提供用于模型研发的基础框架外,还推出了一系列的工具组件,来支持深度学习模型从训练到部署的全流程。

模型训练组件
飞桨提供了分布式训练框架FleetAPI,还提供了开启云上分布式训练的便捷工具PPoC。同时,飞桨也支持多任务训练,可使用多任务学习框架PALM。模型部署组件
飞桨针对不同硬件环境,提供了丰富的支持方案:
Paddle Inference:飞桨原生推理库,用于服务器端模型部署,支持Python、C、C++、Go等语言,将模型融入业务系统的首选。
Paddle Serving:飞桨服务化部署框架,用于云端服务化部署,可将模型作为单独的Web服务。
Paddle Lite:飞桨轻量化推理引擎,用于 Mobile 及 IoT 等场景的部署,有着广泛的硬件支持。
Paddle.js:使用 Javascript(Web)语言部署模型,用于在浏览器、小程序等环境快速部署模型。
PaddleSlim:模型压缩工具,获得更小体积的模型和更快的执行性能。
X2 Paddle:辅助工具,将其他框架模型转换成Paddle模型,转换格式后可以方便的使用上述5个工具。其他全研发流程的辅助工具
AutoDL:飞桨自动化深度学习工具,自动搜索最优的网络结构与超参数,免去用户在诸多网络结构中选择困难的烦恼和人工调参的繁琐工作。
VisualDL:飞桨可视化分析工具,不仅仅提供重要模型信息的可视化呈现,还允许用户在图形上进一步交互式的分析,得到对模型状态和问题的深刻认知,启发优化思路。
PaddleFL:飞桨联邦学习框架,可以让用户运用外部伙伴的服务器资源训练,但又不泄露业务数据。
PaddleX:飞桨全流程开发工具,可以让用户方便的基于PaddleX制作出适合自己行业的图形化AI建模工具。
模型资源
飞桨提供了丰富的端到端开发套件、预训练模型和模型库。
PaddleHub:预训练模型管理和迁移学习组件,提供100+预训练模型,覆盖自然语言处理、计算机视觉、语音、推荐四大领域。模型即软件,通过Python API或者命令行工具,一行代码完成预训练模型的预测。结合Fine-tune API,10行代码完成迁移学习,是进行原型验证(POC)的首选工具。

开发套件:针对具体的应用场景提供了全套的研发工具,例如在图像检测场景不仅提供了预训练模型,还提供了数据增强等工具。开发套件也覆盖计算机视觉、自然语言处理、语音、推荐这些主流领域,甚至还包括图神经网络和增强学习。与PaddleHub不同,开发套件可以提供一个领域极致优化(State Of The Art)的实现方案,曾有国内团队使用飞桨的开发套件拿下了国际建模竞赛的大奖。一些典型的开发套件包括:
ERNIE:飞桨语义理解套件,支持各类训练任务的Fine-tuning,保证极速推理的Fast-Inference API,兼具灵活部署的ERNIE Service和具备轻量方案的ERNIE Tiny系列工具集。
PaddleClas:飞桨图像分类套件,目的是为工业界和学术界提供便捷易用的图像分类任务模型和工具集,打通模型开发、训练、压缩、部署全流程,助力开发者训练更好的图像分类模型和应用落地。
PaddleDetection:飞桨目标检测套件,目的是帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组建、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。具备高性能、模型丰富和工业级部署等特点。
PaddleSeg:飞桨图像分割套件,覆盖了U-Net、DeepLabv3+、ICNet、PSPNet和HRNet等主流的分割模型。通过统一的配置,帮助用户更便捷地完成从训练到部署的全流程图像分割应用。具备丰富的数据增强、主流模型覆盖、高性能和工业级部署等特点。
PLSC:飞桨海量类别分类套件,为用户提供了大规模分类任务从训练到部署的全流程解决方案。提供简洁易用的高层API,通过数行代码即可实现千万类别分类神经网络的训练,并提供快速部署模型的能力。
ElasticCTR:飞桨弹性计算推荐套件,提供了分布式训练CTR预估任务和Serving流程一键部署方案,以及端到端的CTR训练和二次开发的解决方案。具备产业实践基础、弹性调度能力、高性能和工业级部署等特点。
Parakeet:飞桨语音合成套件,提供了灵活、高效、先进的文本到语音合成工具套件,帮助开发者更便捷高效地完成语音合成模型的开发和应用。
PGL:飞桨图学习框架,原生支持异构图,支持分布式图存储及分布式学习算法,覆盖业界大部分图学习网络,帮助开发者灵活、高效地搭建前沿的图学习算法。
PARL:飞桨深度强化学习框架,夺冠NeurIPS 2019和NeurIPS 2018。具有高灵活性、可扩展性和高性能的特点,支持大规模的并行计算,覆盖DQN、DDPG、PPO、IMPALA 、A2C、GA3C等主流强化学习算法。
模型库:包含了各领域丰富的开源模型代码,不仅可以直接运行模型,还可以根据应用场景的需要修改原始模型代码,得到全新的模型实现。

比较三种类型的模型资源,PaddleHub的使用最为简易,模型库的可定制性最强且覆盖领域最广泛。读者可以参考“Paddle Hub->各领域的开发套件->模型库”的顺序寻找需要的模型资源,在此基础上根据业务需求进行优化,即可达到事半功倍的效果。

在上述概览图之外,飞桨还提供云端模型开发和部署的平台,可实现数据保存在云端,提供可视化GUI界面,安全高效。

飞桨技术优势
与其他深度学习框架相比,飞桨具有如下四大领先优势,如 图3 所示。

图3:飞桨领先的四大技术优势

开发便捷的深度学习框架:支持声明式、命令式编程,兼具开发灵活、高性能;网络结构自动设计,模型效果超越人类专家。
超大规模深度学习模型训练技术:千亿特征、万亿参数、数百节点的开源大规模训练平台;万亿规模参数模型实时更新。
多端多平台部署的高性能推理引擎:兼容多种开源框架训练的模型,不同架构的平台设备轻松部署推理速度全面领先。
产业级开源模型库:开源100+算法和200+训练模型,包括国际竞赛冠军模型;快速助力产业应用。
以其中两项为例,展开说明。
多领域产业级模型达到业界领先水平
大量工业实践任务的模型并不需要从头编写,而是在相对标准化的模型基础上进行参数调整和优化。飞桨支持的多领域产业级模型开源开放,且多数模型的效果达到业界领先水平,在国际竞赛中夺得20多项第一,如 图4 所示。

图5:飞桨对周边产品的适配情况

支持多端多平台的部署,适配多种类型硬件芯片
随着深度学习技术在行业的广泛应用,对不同类型硬件设备、不同部署模型、不同操作系统、不同深度学习框架的适配需求涌现,飞桨的适配情况如 图5 所示。

图5:飞桨对周边产品的适配情况


训练好的模型需要无缝集成到各种类型的硬件芯片中,如机房服务器、摄像头芯片等。在中美贸易战时日趋紧张的情况下,训练框架对国产芯片的支持显得尤其重要。飞桨走在了业界前列,提供了专门的端侧模型部署工具Paddle Lite。Paddle Lite适配的硬件芯片,以及由Paddle Lite转换的模型与其它主流框架在性能上的优势对比如 图6 所示。

图6:飞桨对众多类型计算资源的支持,并在运算性能上优于其他的主流框架

飞桨在各行业的应用案例
飞桨在各行业的广泛应用,不但让人们的日常生活变得更加简单和便捷,对企业而言,飞桨还助力产品研发过程更加科学,极大提升了产品性能,节约了大量的人工耗时成本。
飞桨联手百度地图,出行时间智能预估准确率从81%提升到86%
在百度,搜索、信息流、输入法、地图等移动互联网产品中大量使用飞桨做深度学习任务。在百度地图,应用飞桨后提升了产品的部署和预测性能,支撑天级别的百亿次调用。完成了天级别的百亿级数据训练,用户出行时间预估的准确率从81%提升到86%,如 图7 所示。

图7:百度地图出行时间智能预估应用


飞桨联手南方电网,电力巡检迈向“无人时代”
飞桨与南方电网合作,采用机器人代替人工进行变电站仪表的巡检任务,如 图8 所示。由于南方电网的变电站数量众多,日常巡检常态化,而人工巡检工作内容单调,人力投入大,巡检效率低。集成了基于飞桨研发的视觉识别能力的机器人,识别表数值的准确率高达99.01%。在本次合作中,飞桨提供了端到端的开发套件支撑需求的快速实现,降低了企业对人工智能领域人才的依赖。

图8:南方电网电力智能巡检应用Paddle简介


说明:
以上数据为内部测试结果,实际结果可能受环境影响而在一定范围内变化,仅供参考。
飞桨快速安装
进入实践之前,请先安装飞桨。飞桨提供了图形化的安装指导,操作简单,详细步骤请参考 飞桨官网 -> 快速安装。
进入页面后,可按照提示进行安装,如 图9 所示。举例来说,笔者选择在笔记本电脑上安装飞桨,那么选择(windows系统+pip+Python3+CPU版本)的配置组合。其中windows系统和CPU版本是个人笔记本的软硬件配置;Python3是需要事先安装好的Python版本(Python有2和3两个主流版本,两者的API接口不兼容);pip是命令行安装的指令。

图9:飞桨的安装页面示意图Paddle简介

本文《Paddle简介》版权归weixin_43166986所有,引用Paddle简介需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • [翻译]微服务设计模式5. 服务发现服务端服务发现
    服务之间需要互相调用,在单体架构中,服务之间的互相调用直接通过编程语言层面的方法调用就搞定了。在传统的分布式应用的部署中,服务地 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 都会|可能会_###haohaohao###图神经网络之神器——PyTorch Geometric 上手 & 实战
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了###haohaohao###图神经网络之神器——PyTorchGeometric上手&实战相关的知识,希望对你有一定的参考价值。 ... [详细]
  • navicat生成er图_实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
    摘要:目前复杂问题包括两种:含约束的问题和多跳关系问题。本文对ACL2020KBQA基于查询图生成的方法来回答多跳复杂问题这一论文工作进行了解读 ... [详细]
author-avatar
子华2502924833
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有