paddle 1-高级

目录

为什么要精通深度学习的高级内容

高级内容包含哪些武器

1. 模型资源

2. 设计思想与二次研发

3. 工业部署

4. 飞桨全流程研发工具

5. 行业应用与项目案例

飞桨开源组件使用场景概览

框架和全流程工具

1. 模型训练组件

2. 模型部署组件

3. 其他全研发流程的辅助工具

模型资源


为什么要精通深度学习的高级内容

在前面章节中,我们首先学习了神经网络模型的基本知识使用飞桨编写深度学习模型的方法,再学习了计算机视觉、自然语言处理和推荐系统的模型实现方法

但在人工智能的战场上取得胜利并不容易,我们还将面临如下挑战:

  • 需要针对业务场景提出建模方案;
  • 探索众多的复杂模型哪个更加有效;
  • 探索将模型部署到各种类型的硬件上。

高级内容包含哪些武器

1. 模型资源

如今深度学习应用已经在诸多领域落地,研发人员建模的首选方案往往不是自己编写,而是使用现成的模型,或者在现成的模型上优化。这一方面会极大地减少研发人员的工作量,另一方面现成的模型一般在精度和性能上经过精进打磨,效果更好。

那么,去哪里找现成的模型资源呢?

飞桨提供了三种类型的模型资源:

  • 预训练模型工具(PaddleHub);
  • 特定场景的开发套件,遍布计算机视觉、自然语言处理、语音、推荐系统等领域的十几个任务(如飞桨图像分割套件PaddleSeg,飞桨语义理解套件ERNIE等);
  • 开源的模型库(Paddle Models)

2. 设计思想与二次研发

当读者挑战一些最新的模型时,少数情况下会碰到模型需要的算子飞桨没有实现的情况。本章会告诉大家为飞桨框架增加自定义算子的方法,并通过讲述动态图和静态图的实现原理,让大家对飞桨框架的设计思路有一个更深入的认知。

3. 工业部署

与模型的科研和教学不同,工业应用中的模型是需要部署在非常丰富的硬件环境上的,比如将模型嵌入用C++语言写的业务系统,将模型作为单独的Web服务,或将模型放到摄像头上等等。本章会介绍Paddle Inference、Paddle Serving和Paddle Lite来满足上面这些需求场景,并介绍模型压缩工具Paddle Slim,可以让模型在有限条件的硬件上以更快的速度运行。

4. 飞桨全流程研发工具

飞桨为大家提供了这么多的模型资源和工具组件,如何串联这些组件,并研发一个适合读者所在行业的可视化建模工具? 本章会以一个官方出品的Demo为案例,向读者展示PaddleX可以为用户提供的全流程服务

5. 行业应用与项目案例

权威的咨询机构艾瑞预测未来十年人工智能的产业规模增长率达40%,人工智能也作为国家新基建的战略重点,国务院关于AI应用发展规划也有很高的增长预期。虽然人工智能赋能各行各业在蓬勃发展,但依然有传统行业的朋友心存疑虑:

“我所在的行业太传统,人工智能没有用武之地吧?”

本章以能源行业为例,分析一家典型的电力企业在业务中可以用人工智能优化的环节,并展示基于飞桨建模的真实项目。

人工智能和深度学习是实践科学,如果这些武器不实际动手操练,是无法在战场上运用自如的。所以,本章精心选配了6个作业比赛,可以让大家在有趣的案例实践中,真正掌握这些武器,与最顶级的深度学习专家一拼高下。

飞桨开源组件使用场景概览

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


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


 

概览图上半部分是从开发、训练到部署的全流程工具,下半部分是预训练模型、各领域的开发套件和模型库等模型资源。

框架和全流程工具

飞桨在提供用于模型研发的基础框架外,还推出了一系列的工具组件,来支持深度学习模型从训练到部署的全流程。

1. 模型训练组件

飞桨提供了分布式训练框架FleetAPI,还提供了开启云上任务提交工具PaddleCloud。同时,飞桨也支持多任务训练,可使用多任务学习框架PALM

2. 模型部署组件

飞桨针对不同硬件环境,提供了丰富的支持方案:

  • Paddle Inference:飞桨原生推理库,用于服务器端模型部署,支持Python、C、C++、Go等语言,将模型融入业务系统的首选。
  • Paddle Serving:飞桨服务化部署框架,用于云端服务化部署,可将模型作为单独的Web服务。
  • Paddle Lite:飞桨轻量化推理引擎,用于Mobile、IoT等场景的部署,有着广泛的硬件支持。
  • Paddle.js:使用JavaScript(Web)语言部署模型,用于在浏览器、小程序等环境快速部署模型。
  • PaddleSlim:模型压缩工具,获得更小体积的模型和更快的执行性能。
  • X2Paddle:飞桨模型转换工具,将其他框架模型转换成Paddle模型,转换格式后可以方便的使用上述5个工具。

3. 其他全研发流程的辅助工具

  • AutoDL飞桨自动化深度学习工具,旨在自动网络结构设计,开源的AutoDL设计的图像分类网络在CIFAR10数据集正确率 达到 98%,效果优于目前已公开的10类人类专家设计的网络,居于业内领先位置。
  • VisualDL:飞桨可视化分析工具,以丰富的图表呈现训练参数变化趋势、模型结构、数据样本、高维数据分布、精度召回曲线等模型关键信息。帮助用户清晰直观地理解深度学习模型训练过程及模型结构,进而实现高效的模型调优、并将算法训练过程及结果分享。
  • PaddleFL:飞桨联邦学习框架,研究人员可以很轻松地用PaddleFL复制和比较不同的联邦学习算法,便捷地实现大规模分布式集群部署,并且提供丰富的横向和纵向联邦学习策略及其在计算机视觉、自然语言处理、推荐算法等领域的应用。此外,依靠着PaddlePaddle的大规模分布式训练和Kubernetes对训练任务的弹性调度能力,PaddleFL可以基于全栈开源软件轻松部署。

模型资源

飞桨提供了丰富的端到端开发套件、预训练模型和模型库。

PaddleHub:飞桨预训练模型应用工具,覆盖文本、图像、视频、语音四大领域超过200个高质量预训练模型。开发者可以轻松结合实际业务场景,选用高质量预训练模型并配合Fine-tune API快速完成模型验证与应用部署工作。适用于个人开发者学习、企业POC快速验证、参加AI竞赛以及教学科研等多种业务场景。

开发套件:针对具体的应用场景提供了全套的研发工具,例如在图像检测场景不仅提供了预训练模型,还提供了数据增强等工具。开发套件也覆盖计算机视觉、自然语言处理、语音、推荐这些主流领域,甚至还包括图神经网络和增强学习。与PaddleHub不同,开发套件可以提供一个领域极致优化(State Of The Art)的实现方案,曾有国内团队使用飞桨的开发套件拿下了国际建模竞赛的大奖。一些典型的开发套件包括:

  • PaddleClas:飞桨图像分类套件,目的是为工业界和学术界提供便捷易用的图像分类任务预训练模型和工具集,打通模型开发、训练、压缩、部署全流程,辅助其它高层视觉任务组网并提升模型效果,助力开发者训练更好的图像分类模型和应用落地。
  • PaddleDetection:飞桨目标检测套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。PaddleDetection以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。
  • PaddleSeg飞桨图像分割套件,覆盖了DeepLabv3+/OCRNet/BiseNetv2/Fast-SCNN等高精度和轻量级等不同方向的大量高质量分割模型。通过模块化的设计,提供了配置化驱动和API调用等两种应用方式,帮助开发者更便捷地完成从训练到部署的全流程图像分割应用。
  • PaddleOCR: 飞桨文字识别套件,旨在打造一套丰富、领先、且实用的OCR工具库,开源了基于PPOCR实用的超轻量中英文OCR模型、通用中英文OCR模型,以及德法日韩等多语言OCR模型。并提供上述模型训练方法和多种预测部署方式。同时开源文本风格数据合成工具Style-Text和半自动文本图像标注工具PPOCRLable。
  • PaddleGAN:飞桨图像生成开发套件,集成风格迁移、超分辨率、动漫画生成、图片上色、人脸属性编辑、妆容迁移等SOTA算法,以及预训练模型。并且模块化设计,以便开发者进行二次研发,或是直接使用预训练模型做应用。
  • PaddleX:飞桨场景应用开发套件,以低代码的形式支持开发者快速实现深度学习算法开发及产业部署。提供极简Python API和可视化界面Demo两种开发模式,可一键安装。针对CPU(OpenVINO)、GPU、树莓派等通用硬件提供完善的部署方案,并可通过RESTful API快速完成集成、再开发,开发者无需分别使用不同套件即可完成全流程模型生产部署。可视化推理界面及丰富的产业案例更为开发者提供飞桨全流程开发的最佳实践。
  • PLSC:飞桨海量类别分类套件,为用户提供了大规模分类任务从训练到部署的全流程解决方案。提供简洁易用的高层API,通过数行代码即可实现千万类别分类神经网络的训练,并提供快速部署模型的能力。
  • ERNIE:基于持续学习的知识增强语义理解框架实现,内置业界领先的系列ERNIE预训练模型,能够 支持各类NLP算法任务Fine-tuning, 包含保证极速推理的Fast-inference API, 灵活部署的ERNIE Service和轻量化解决方案ERNIE Slim,训练过程所见即所得,支持动态debug,同时方便二次开发。
  • ElasticCTR:飞桨弹性计算推荐套件,可以实现分布式训练CTR预估任务和基于Paddle Serving的在线个性化推荐服务。Paddle Serving服务化部署框架具有良好的易用性、灵活性和高性能,可以提供端到端的CTR训练和部署解决方案。ElasticCTR具备产业实践基础、弹性调度能力、高性能和工业级部署等特点。
  • Parakeet:飞桨语音合成套件,提供了灵活、高效、先进的文本到语音合成工具,帮助开发者更便捷高效地完成语音合成模型的开发和应用。
  • PGL:飞桨图学习框架,业界首个提出通用消息并行传递机制, 支持百亿规模巨图的工业级图学习框架。PGL基于飞桨动态图全新升级,极大提升了易用性,原生支持异构 图,支持分布式图存储及分布式学习算法,覆盖30+图学习模型,包括图语义理解模型ERNIESage等。历经 大量真实工业应用验证,能够灵活、高效地搭建前沿的大规模图学习算法。
  • PARL:飞桨深度强化学习框架,在2018, 2019, 2020夺得强化学习挑战赛三连冠。具有高灵活性、可扩展性和高性能的特点。实现了十余种主流强化学习算法的示例,覆盖了从单智能体到多智能体,离散决策到连续控制不同领域的强化学习算法支持。基于GRPC机制实现数千台CPU和GPU的高性能并行。
  • Paddle Quantum:量桨,飞桨量子机器学习框架,提供量子优化、量子化学等前沿应用工具集,常用量子电路模型,以及丰富的量子机器学习案例,帮助开发者便捷地搭建量子神经网络,开发量子人工智能应用。
  • PaddleHelix:飞桨螺旋桨生物计算框架,开放了赋能疫苗设计,新药研发,精准医疗的AI能力。在疫苗设计上,PaddleHelix的LinearRNA系列算法相比传统方法在RNA折叠上提升了几百上千倍的效率; 在新药研发上,PaddleHelix提供了基于大规模数据预训练的分子表示,助力分子性质预测,药物筛选,药物设计等领域;在精准医疗上,PaddleHelix提供了利用组学信息精准定位药物,提升治愈率的高性能模型。

模型库:包含了各领域丰富的开源模型代码,不仅可以直接运行模型,还可以根据应用场景的需要修改原始模型代码,得到全新的模型实现。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/102044.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【大数据实训】基于Hive的北京市天气系统分析报告(二)

博主介绍:✌全网粉丝6W,csdn特邀作者、博客专家、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于大数据技术领域和毕业项目实战✌ 🍅文末获取项目联系🍅 目录 1. 引言 1.1 项目背景 1 1.2 项目意义 1 2.…

Java代码审计15之Apache log4j2漏洞

文章目录 1、log4j简介2、复现2.1、高版本测试2.2、测试代码2.3、补充之dns探测2.3.1、rmi、ldap也可以dnslog探测 2.3.2、dnslog外带信息 3、漏洞原理3.1、漏洞的危害大的背景3.2、具体的代码调试 4、靶场测试4.1、dns探测4.2、工具下载与使用4.3、测试4.4、手工可以测出&…

设计模式--代理模式

笔记来源:尚硅谷Java设计模式(图解框架源码剖析) 代理模式 1、代理模式的基本介绍 1)代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象2)这样做的好处是…

leetcode236. 二叉树的最近公共祖先(java)

二叉树的最近公共祖先 题目描述递归法代码演示 上期经典 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q …

ISO/IEC标准组织介绍(三十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

AI绘画:StableDiffusion实操教程-斗罗大陆2-江楠楠-常服(附高清图下载)

前段时间我分享了StableDiffusion的非常完整的教程:“AI绘画:Stable Diffusion 终极宝典:从入门到精通 ” 尽管如此,还有读者反馈说,尽管已经成功安装,但生成的图片与我展示的结果相去甚远。真实感和质感之…

解决FreeRTOS程序跑不起来,打印调试却提示“Error:..\FreeRTOS\port\RVDS\ARM_CM3\port.c,244“的方法

前言 今天来分享一个不会造成程序编译报错,但会使程序一直跑不起来,并且通过调试会发现有输出错误提示的错误例子分析,话不多说,我们就直接开始分析~ 首先,我们说过这个例子在编译时候没有明示的错误提示&#xff0c…

城市白模三维重建

收费工具,学生党勿扰,闹眼子当勿扰 收费金额:2000元,不能开发票 1 概述 几个月前,一家小公司找我帮忙给他们开发一个程序,可以将一个城市进行白模的三维重建。 报酬大约5K。经过不懈的努力,终于…

Spring 中存取 Bean 的相关注解

目录 一、五大类注解 1、五大类注解存储Bean对象 1.1Controller(控制器储存) 1.2Service(服务存储) 1.3Repository(仓库存储) 1.4Component(组件存储) 1.5Configuration(配置存储) 2、五大类注解小结 2.1为什么要这么多类注解 2.2 五大类注解之间的关系 二、方法注解 1.方法注…

【App端】uni-app使用百度地图api和echarts省市地图下钻

目录 前言方案一:echarts百度地图获取百度地图AK安装echarts和引入百度地图api完整使用代码 方案二:echarts地图和柱状图变形动画实现思路完整使用代码 方案三:中国地图和各省市地图下钻实现思路完整使用代码 前言 近期的app项目中想加一个功…

常见路由跳转的几种方式

常见的路由跳转有以下四种&#xff1a; 1. <router-link to"跳转路径"> /* 不带参数 */ <router-link :to"{name:home}"> <router-link :to"{path:/home}"> // 更建议用name // router-link链接中&#xff0c;带/ 表示从根…

RT-Thread 原子操作

原子操作简介 原子操作&#xff08;Atomic operation&#xff09;是指一种不可分割的操作&#xff0c;要么完全执行成功&#xff0c;要么完全不执行。 原子操作的执行过程中不允许有任何中断&#xff0c;如果出现了中断&#xff0c;那么操作的结果就无法保证。 原子操作通常…

Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

为什么要学习C++

操作系统历史 UINX操作系统诞生之初是用汇编语言编写的。随着UNIX的发展&#xff0c;汇编语言的开发效率成为一个瓶颈。寻找新的高效开发语言成为UNIX开发者需要解决的问题。当时BCPL语言成为了当时的选择之一。Ken Thomposn对BCPL进行简化得到了B语言。但是B语言不是直接生成…

无涯教程-Android - List fragments函数

框架的ListFragment的静态库支持版本&#xff0c;用于编写在Android 3.0之前的平台上运行的应用程序&#xff0c;在Android 3.0或更高版本上运行时,仍使用此实现。 List fragment 的基本实现是用于创建fragment中的项目列表 List in Fragments 示例 本示例将向您说明如何基于…

【GUI开发】用python爬YouTube博主信息,并开发成exe软件

文章目录 一、背景介绍二、代码讲解2.1 爬虫2.2 tkinter界面2.3 存日志 三、软件演示视频四、说明 一、背景介绍 你好&#xff0c;我是马哥python说&#xff0c;一名10年程序猿。 最近我用python开发了一个GUI桌面软件&#xff0c;目的是爬取相关YouTube博主的各种信息&#…

2.5 关系查询优化

这段话主要讨论了关系模型在数据库领域中的查询优化问题。以下是对这段文字的简要解释&#xff1a; 1. **关系模型的优缺点**&#xff1a;虽然关系模型有许多优点&#xff0c;但它也有一些缺点&#xff0c;最主要的缺点是查询效率。如果没有适当的优化&#xff0c;查询的速度可…

采用ROUANT 方法对 nex-gddp-cmip6 数据进行精度校正

专题一 CMIP6中的模式比较计划 1.1 GCM介绍全球气候模型&#xff08;Global Climate Model, GCM&#xff09;&#xff0c;也被称为全球环流模型或全球大气模型&#xff0c;是一种用于模拟地球的气候系统的数值模型。这种模型使用一系列的数学公式来描述气候系统的主要组成部分…

C++面试题(丝)-计算机网络部分(1)

目录 1计算机网络 53 简述epoll和select的区别&#xff0c;epoll为什么高效&#xff1f; 54 说说多路IO复用技术有哪些&#xff0c;区别是什么&#xff1f; 55 简述socket中select&#xff0c;epoll的使用场景和区别&#xff0c;epoll水平触发与边缘触发的区别&#xff1f;…

微服务--Gatway:网关

routes: - id:order_route(路由唯一 标识&#xff0c;路由到order) uri&#xff1a;http://localhost:8020 #需要转发的地址 #断言规则&#xff08;用于路由规则的匹配&#xff09; predicates: -path/order-serv/** -pathlb://order-service # lb: 使用nacos中的本地…