book icon indicating copy to clipboard operation
book copied to clipboard

[Call for Contribution] Tutorials for PaddlePaddle 2.0(基于飞桨2.0的应用案例教程建设)

Open saxon-zh opened this issue 3 years ago • 35 comments

1. 目标

目前飞桨2.0 RC1版本已经发布,不久的将来即将发布2.0正式版,在2.0版本中,飞桨深度学习框架面向用户体验做了一系列的升级优化:API体系的全面升级以及命令式编程(动态图)能力的全面完善;系统优化了飞桨基础API的目录结构,全面修复了历史遗留的相关问题,并对API做了充分补充,特别是提供了更为完善的高层API功能;同时提供了对动态图的量化训练、混合精度训练的支持,动静转换实现了完备的语法支持,并且易用性大幅提升,动态图相关功能趋于完善,默认推荐使用动态图模式;数据处理、组网方式、模型训练、多卡启动、模型保存和推理等开发流程都有了对应优化;此外,推理库的C++接口也做了升级优化,推理库对量化模型的支持以及推理性能都有了全面增强。

这是飞桨框架的一个全新版本,为了能够让用户快速掌握到飞桨框架升级内容,并了解和学习如何使用2.0进行相关任务的开发,我们进行应用案例教程的立项,在不同的任务场景上为用户提供一个端到端的易学案例,来快速的传递相关知识和使用方法。

在此呼吁广大的飞桨开发者来一起共建我们的应用案例教程,努力为用户提供更加优质的示例教程,为用户学会使用框架铺设一条高速公路。

2. 教程清单

目前我们从已有内容和待补充方向进行了初步评估,梳理了以下建议的选题方向和题目,并为大家提供了比较优秀的对标文章进行学习参考,大家可以从这个列表中选择自己想要进行贡献的题目,或者也可以进行非列表内的题目自选。

招募列表

类别 标题 参考链接 已认领作者ID
计算机视觉 通过OCR实现验证码识别 https://keras.io/examples/vision/captcha_ocr/ GT-ZhangAcer
计算机视觉 基于fine-tuning的图像分类 https://keras.io/examples/vision/image_classification_efficientnet_fine_tuning/ zky001
计算机视觉 通过Sub-Pixel实现图像超分辨率 https://keras.io/examples/vision/super_resolution_sub_pixel/ ralph0813
自然语言处理 基于seq2seq的文本加法 https://keras.io/examples/nlp/addition_rnn/ jm12138
自然语言处理 使用预训练的词向量 https://keras.io/examples/nlp/pretrained_word_embeddings/ fiyen
自然语言处理 基于Bert的语义相似度计算 https://keras.io/examples/nlp/semantic_similarity_with_bert/ wangxiao1021
自然语言处理 通过transformer实现文本分类 https://keras.io/examples/nlp/text_classification_with_transformer/ YinHang2515
生成模型 通过DCGAN实现人脸图像生成 https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html ZMpursue
生成模型 通过CycleGAN实现图像风格迁移 https://keras.io/examples/generative/cyclegan/ ctkindle
结构化数据 信用卡反欺诈-样本不均衡下的分类任务 https://keras.io/examples/structured_data/imbalanced_classification/ davidlinhl
时序数据 通过AutoEncoder实现时序数据异常检测 https://keras.io/examples/timeseries/timeseries_anomaly_detection/ Reatris
计算机视觉 卷积层可视化 https://keras.io/examples/vision/visualizing_what_convnets_learn/
计算机视觉 使用PointNet实现点云分类 https://keras.io/examples/vision/pointnet/
计算机视觉 使用Retinanet实现目标检测 https://keras.io/examples/vision/retinanet/
自然语言处理 基于Bert实现智能写诗 https://www.mindspore.cn/tutorial/training/zh-CN/r1.1/advanced_use/nlp_bert_poetry.html
自然语言处理 相声文本生成 https://zhuanlan.zhihu.com/p/42568781
自然语言处理 图片描述 https://www.tensorflow.org/tutorials/text/image_captioning?hl=en
强化学习 Actor Critic Method https://keras.io/examples/rl/actor_critic_cartpole/
生成对抗网络 通过StackGAN输入文本生成图像 https://arxiv.org/pdf/1612.03242v1.pdf
生成对抗网络 使用DanceNet自动生成舞蹈 https://zhuanlan.zhihu.com/p/41946184
时序数据 时序数据预测:天气预报 https://keras.io/examples/timeseries/timeseries_weather_forecasting/
推荐 使用协同过滤实现电影推荐 https://keras.io/examples/structured_data/collaborative_filtering_movielens/

招募列表外开发者主动贡献列表

标题 已认领作者ID
关键点检测方法及应用 zzs95

3. 贡献指南

3.1 飞桨框架2.0版本安装和使用

  1. 飞桨(PaddlePaddle)版本统一使用2.0最新版,安装说明:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-beta/install/index_cn.html
  2. 2.0版本使用教程:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-beta/guides/index_cn.html
  3. 2.0版本已有应用实践教程:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-beta/tutorial/index_cn.html

3.2 题目认领

  1. 可以在上面提供的列表中进行题目选择或自选题目,并将确定的题目回复到本Issue中,方便他人同步知晓已开展的文章列表信息,避免重复选题。

3.3 教程编写

  1. 应用案例教程统一使用Notebook格式(.ipynb)来进行编写,可以在本地安装使用Jupyter开发,或使用AIStudio(https://aistudio.baidu.com)。

  2. 为了方便大家进行教程的编写,并统一阅读体验,下面为大家提供了一个简单的概要框架,大家根据实际任务按照下面的框架结构进行内容编写和组织,可以结合实际场景进行微调。如果对模板有一些建议我们也可以在下面进行回复讨论。

    # 题目
    
    作者信息:Github ID (github个人主页URL)
    
    ## 1. 简要介绍
    简单的一段文字介绍本案例场景和用到的一些知识点,不用太复杂的讲述知识细节,
    
    ## 2. 环境设置
    导入包,运行一些初始化方法
    
    ## 3. 数据集
    讲述数据集的一些基础信息,描述数据集组成等。进行数据集的下载、抽样查看、数据集定义等。
    
    ## 4. 模型组网
    基于Layer定义模型网络结构,模型的可视化展示。可以概要讲述一些网络结构代码设计的原因。
    
    ## 5. 模型训练
    使用模型网络结构和数据集进行模型训练。需要讲述一些实践中的知识点。
    
    ## 6. 模型评估
    使用评估数据评估训练好的模型。
    
    ## 7. 模型预测
    对模型进行预测,展示效果。
    

3.4 教程上传

  1. 写好的文档通过向https://github.com/PaddlePaddle/book仓库提交Pull Request的方式来进行教程文档的上传。
  2. 对提交好的PR可以指定Reviewer(saxon-zhjzhang533TCChenlong)进行内容和代码的评审,通过后会由具有Merge权限的同学进行最终的合入。

3.5 一些原则

  • 代码封装得当,易读性好,不用一些随意的变量/类/函数命名。
  • 注释清晰,不仅说明做了什么,也要说明为什么这么做。
  • 文字部分暂时不用考虑国际化,先统一使用中文编写,注意概念和描述的清晰度,尽量让大家通俗易懂,如果实在难以解释,可以给出一些能够详细介绍的页面链接。
  • 代码编写过程中能使用高层API的部分就使用高层API,无法使用高层API的部分就使用基础API。高层API使用指南:链接
  • 做好代码的自测工作,每段代码块需要有运行结果。

4. 已合入仓库的教程

目前已经有13篇基于飞桨2.0的教程贡献,查看方式:

  1. Repo目录查看已经Merge的Notebook源文件:https://github.com/PaddlePaddle/book/tree/develop/paddle2.0_docs
  2. 查看官网渲染后的页面:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-beta/tutorial/index_cn.html

5. 还有不清楚的怎么办?

欢迎大家随时在这个Issue下进行提问。

非常感谢大家一起来贡献!共建飞桨繁荣社区!

saxon-zh avatar Sep 24 '20 16:09 saxon-zh

认领:通过AutoEncoder实现时序数据异常检测

Reatris avatar Oct 09 '20 06:10 Reatris

认领:通过OCR实现验证码识别

GT-ZhangAcer avatar Oct 09 '20 06:10 GT-ZhangAcer

认领:通过transformer实现文本分类

YinHang2515 avatar Oct 09 '20 06:10 YinHang2515

认领:基于fine-tuning的图像分类

zky001 avatar Oct 09 '20 06:10 zky001

认领:通过DCGAN实现人脸图像生成

ZMpursue avatar Oct 09 '20 06:10 ZMpursue

认领:基于Bert的语义相似度计算

wangxiao1021 avatar Oct 09 '20 06:10 wangxiao1021

认领:通过Sub-Pixel实现图像超分辨率

ralph0813 avatar Oct 09 '20 07:10 ralph0813

认领:基于seq2seq的文本加法

jm12138 avatar Oct 09 '20 07:10 jm12138

认领:关键点检测方法及应用

zzs95 avatar Oct 09 '20 08:10 zzs95

认领:使用预训练的词向量

fiyen avatar Oct 09 '20 08:10 fiyen

认领:通过CycleGAN实现图像风格迁移

ctkindle avatar Oct 09 '20 09:10 ctkindle

认领:通过OCR实现验证码识别

shaunhurryup avatar Oct 09 '20 10:10 shaunhurryup

认领:通过OCR实现验证码识别

这个gt貌似领了

linhandev avatar Oct 10 '20 04:10 linhandev

没看到在这认领,我已经做完通过AutoEncoder实现时序数据异常检测合RP了,有点尴尬

liu824 avatar Oct 14 '20 04:10 liu824

没事,你先去PR吧,我再做个其他的~

Reatris avatar Oct 14 '20 04:10 Reatris

挺抱歉的,我之前搞错了,我新建了issue来领任务,不过你的也可以上传,飞桨应该不介意多出一份教程

liu824 avatar Oct 14 '20 12:10 liu824

认领:DQN-CartPole

SunHao-TSU avatar Oct 15 '20 03:10 SunHao-TSU

作者格式要求

为了统一整体的写作风格,需要大家规范一下作者格式,写法规则如下: 在notebook的第一个cell中,填写文章标题,作者名字(链接至GitHub主页)、上传日期等三部分信息;其它的描述都在之后的cell中 示例如下: image 对于AIStudio项目的链接,飞桨官方会在后续统一添加,请大家理解 非常感谢大家一起来贡献!共建飞桨繁荣社区!

TCChenlong avatar Oct 21 '20 06:10 TCChenlong

收到

------------------ 原始邮件 ------------------ 发件人: "Chen Long"<[email protected]>; 发送时间: 2020年10月21日(星期三) 下午2:43 收件人: "PaddlePaddle/book"<[email protected]>; 抄送: "九五二八"<[email protected]>; "Comment"<[email protected]>; 主题: Re: [PaddlePaddle/book] [Call for Contribution] Tutorials for PaddlePaddle 2.0(基于飞桨2.0的应用案例教程建设) (#905)

作者格式要求

作者格式的写法规则如下: 在notebook的第一个cell中,填写文章标题,作者名字(链接至GitHub主页)、上传日期等三部分信息;其它的描述都在之后的cell中 示例如下:

非常感谢大家一起来贡献!共建飞桨繁荣社区!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

Reatris avatar Oct 21 '20 07:10 Reatris

您好,

收到来信,我将按照格式要求撰写,有问题随时联系。

祝一切好。


孙浩  清华大学车辆运载学院 iDLab 课题组

SUN Hao Ph.D. iDLab, School of Vehicle and Mobility, Tsinghua University, Beijing

Tel & WeChat:18810661722

------------------ 原始邮件 ------------------ 发件人: "PaddlePaddle/book" <[email protected]>; 发送时间: 2020年10月21日(星期三) 下午2:43 收件人: "PaddlePaddle/book"<[email protected]>; 抄送: "孙浩"<[email protected]>;"Comment"<[email protected]>; 主题: Re: [PaddlePaddle/book] [Call for Contribution] Tutorials for PaddlePaddle 2.0(基于飞桨2.0的应用案例教程建设) (#905)

作者格式要求

作者格式的写法规则如下: 在notebook的第一个cell中,填写文章标题,作者名字(链接至GitHub主页)、上传日期等三部分信息;其它的描述都在之后的cell中 示例如下:

非常感谢大家一起来贡献!共建飞桨繁荣社区!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

SunHao-TSU avatar Oct 22 '20 03:10 SunHao-TSU

收到

ctkindle avatar Oct 30 '20 07:10 ctkindle

认领:基于fine-tuning的图像分类

lwbmowgli avatar Nov 27 '20 02:11 lwbmowgli

认领:使用Retinanet实现目标检测

DawnMagnet avatar Feb 26 '21 07:02 DawnMagnet

认领:卷积层可视化

Reatris avatar Feb 26 '21 07:02 Reatris

认领:强化学习-Actor Critic Method

EastSmith avatar Feb 26 '21 08:02 EastSmith

认领:图片描述

YinHang2515 avatar Feb 26 '21 08:02 YinHang2515

认领:使用PointNet实现点云分类

Kqnonrime avatar Feb 26 '21 08:02 Kqnonrime

认领:基于BERT实现智能写诗

fiyen avatar Feb 26 '21 09:02 fiyen

认领:时序数据预测,天气预报

liu824 avatar Feb 26 '21 09:02 liu824

认领:使用PointNet实现点云分类

WhiteFireFox avatar Feb 26 '21 10:02 WhiteFireFox