前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零学Paddle系列-0 Paddle框架整体概览

从零学Paddle系列-0 Paddle框架整体概览

作者头像
BBuf
发布2020-07-09 14:21:08
2K0
发布2020-07-09 14:21:08
举报
文章被收录于专栏:GiantPandaCVGiantPandaCV

1. Paddle是什么?

Paddle是百度开发的一个深度学习框架,运行时可采用静态图和动态图,通过多个版本的优化,Paddle的动态图运行效率已经可以媲美静态图,这里我推荐使用动态图来编写网络。基于Paddle框架进而衍生出了百度其他强大的开发套件,工具组件和模型库,基础概览如下

  • PaddleHub 提供了大量预训练模型及API接口,方便用户调用,进行数据处理
  • PaddleX 是新出的全流程开发工具从数据,训练,可视化到最后的部署。通过图形化界面一键打通全流程,方便各个企业根据生产需求进行二次开发
  • 针对目标检测,图像分割,又有PaddleDetection,PaddleSeg开发套件。通过将算法模块化,方便开发者进行自定义组装开发
  • 百度针对自然语言,计算机视觉,推荐系统有着非常丰富的预训练模型库,可以分别在PaddleNLP,PaddleCV, PaddleRec里面找到主流预训练模型
  • 为了方便移动端部署,百度又推出了PaddleSlim模型压缩工具,并可以结合Paddle Lite实现高效端侧推理
  • 由于训练模型需要大量算力,百度也推出了相应的服务平台供我们训练部署,后续我们会在AIStudio上实现模型的训练

2. 快速安装

首先我们登录Paddle的官网 https://www.paddlepaddle.org.cn/

根据操作系统选择安装版本,这里我以windows系统安装CPU版本的Paddle

安装也很简单使用pip命令即可

代码语言:javascript
复制
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

3. 官方教程

Paddle 也针对零基础和产业级应用推出了两款教程

4. 官方文档

对于初学者来说,刚接触新的框架可能对整体API不够了解,不知道该在代码如何使用

而Paddle提供了非常完备的API文档

我们可以在文档—>API Reference里面查看API文档

我们可以查看下fluid.dygraph下的Conv2D这个API的使用方法

其中不仅很完整的解释了参数意义,还提供了一小段代码示例帮助我们更好地理解

至此我们已经对Paddle有大致的了解,下面我会讲解下Paddle的API概览

5. API概览

Paddle的API都涵盖在子模块fluid下

这里我只会挑几个常用的API

  • fluid.dygraph 这是飞桨的动态图API合集,里面包括了卷积层Conv2D,池化层Pool2D,Dropout,BatchNorm等。基于动态图网络结构相关API都在这里,这也是我们经常会使用到的一个模块
  • fluid.initializer 这是飞桨的初始化模块,涵盖了常见的初始化方法,包括双线性差值,Xavier初始化,均匀分布初始化,正态分布初始化等等。我们常用于网络层的权重初始化当中、
  • fluid.io 这是飞桨的输入输出模块,里面涵盖了我们处理数据输入的方法,比如组合成batch,将数据缓存,多线程读入等。另外还包括了模型保存,参数保存的方法
  • fluid.layers 这是飞桨的层级模块,它包含了常见的操作OP,其细粒度相对于常用的API更低,有着丰富的数学操作,如abs,argmax,elementwise_add,clip,dropout等。
  • fluid.optimizers 这是飞桨的优化器模块,包含了大量优化器的实现,如Adam,SGD,Momentum,RMSProp等优化器。用于根据损失对网络参数进行优化
  • fluid.regularizer 这是飞桨的正则化模块,包含了L1, L2这两种正则化方法,可用于网络层和优化器,对权重进行惩罚,缓解网络过拟合现象

另外由于飞桨框架每一个版本都有比较大的更新,有时候甚至会废弃掉上版本的某些API。

这里建议升级版本的时候,先看一下Release Note,查看新版本的特性。

方便在后续的程序里面进行Debug

9. AIStudio

深度学习中最常见的就是缺算力问题,百度为开发者搭建了AIstudio平台,方便我们进行模型训练

https://aistudio.baidu.com/aistudio/index

开发者都可以在AIStudio学习他人优秀的项目,课程。并且隔一段时间会有比赛举行,可以打打比赛练练手。

另外AIStudio还有着社区,小伙伴们可以互相交流

AIStudio还有激励机制,每天运行项目就可以获赠有效期3天的12小时算力卡

这个算力是Tesla V100 16G,以notebook形式运行代码

想必这种运行环境下,训练大多数任务已经是不成问题了

附一张笔者的白嫖记录

10. 总结

今天大致了解了下Paddle和AIStudio整体的结构

并讲解了其中API的应用

下一期我会以CV任务中常用的操作,更加详细的讲解如何在Paddle框架编写对应的代码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GiantPandaCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. 快速安装
  • 3. 官方教程
  • 4. 官方文档
  • 5. API概览
  • 9. AIStudio
  • 10. 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档