Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

good first issue for fp16 #50832

Closed
zhangting2020 opened this issue Feb 23, 2023 · 20 comments · Fixed by #50929
Closed

good first issue for fp16 #50832

zhangting2020 opened this issue Feb 23, 2023 · 20 comments · Fixed by #50929
Assignees

Comments

@zhangting2020
Copy link
Contributor

zhangting2020 commented Feb 23, 2023

问题描述 Please describe your issue

大家好,近期我们在Paddle框架中发现一些已经支持了FP16类型的算子,在静态图模式下对输入进行数据类型检查时因未添加FP16检查会引起报错。我们一共收集了32个API,欢迎大家提交PR一起修复这些API的问题。

为了修复问题,你需要做的是:

  1. 安装 Paddle官网develop(Nightly Build)包 编写问题复现 case
    a. 构造一个静态图的测试样例,在FP32输入下能够正常运行。可以先去查看算子对应的单测脚本,看是否存在静态图测试样例,如果有则可直接借鉴。
    b. 参考下面的修复实例,将输入的dtype修改为FP16:由于API在进行数据类型检查时缺乏FP16的支持,你会复现出TypeError
  2. 参考《Paddle贡献指南》 对API问题进行修复
  3. 提交API和英文文档修复的PR至PaddlePaddle/Paddle 中,1个 PR 修复1个 case。
    a. PR 描述中请介绍Bug产生的场景:将问题复现的脚本及报错信息贴在PR描述中
    b. 请在算子已有的单测文件中添加一个单测:为了代码的简洁,我们鼓励大家先阅读原始单测中的静态图API测试用例(如有),看是否可以仅对已有的静态图单测增加fp16输入功能。当然你也可以参考下面的修复示例,从头构建一个新的测试用例。
    c. 单测注意点:FP16目前仅支持GPU,而CI会在GPU/CPU上均进行测试,因此单测中需要加入条件,仅让代码在GPU上运行。否则你可能会遇到"UnimplementedError: There are no kernels which are registered in the operator."的报错。
    d. 英文文档:在相应的API的说明中直接修改
  4. 提交中文文档修复的PR至PaddlePaddle/docs中。(建议在API修复的PR中引用中文文档PR,以便review)

注:

  1. 你可以参考这个修复PR实例:[bug fix] fix fp16 dtype checking for argmax op
  2. 该任务时间:PR 截止提交时间是3月3日,截止合入时间是3月6日
  3. 这些case修复难度不大,还能借此了解Paddle的FP16机制,欢迎参与~
  4. 历史上的 good first issue 列表,也欢迎来提 PR 解决~
  5. 欢迎联系花花加入社区,和我们一起快乐开源!

image

任务列表(整体进度 32/32)

按 merge 的时间顺序,排名不分先后: @zhangting2020 (1), @Liyulingyue (10), @mrcangye (2), @Ainavo (1), @enkilee (3), @NotHaozi (1), @thexf (1), @ccsuzzh (1), @CollaborativeFiltering (1), @longranger2 (3), @Bjmw3 (1), @hh-qiao (1), @Jx-qi (1), @Taylor-Layrose (1) @BellaZYL (1) @yiakwy (3)

任务序号
Task Number
任务
issueTask issue
认领人Claimant 修复 PR
Repair PR
1 paddle.argmax API需增加FP16类型检查✅ (2023/2/27) @zhangting2020 #50811
2 paddle.argmin API需增加FP16类型检查 ✅ (2023/2/28) @enkilee #50858
3 paddle.argsort API需增加FP16类型检查✅ (2023/2/27) @ccsuzzh #50939
4 paddle.clip API需增加FP16类型检查 ✅ (2023/2/27) @NotHaozi #50878
5 paddle.conj API需增加FP16类型检查 ✅ (2023/2/27) @enkilee #50868
6 paddle.cumsum API需增加FP16类型检查 ✅  (2023/2/28) @CollaborativeFiltering #50973
7 paddle.diag API需增加FP16类型检查✅ (2023/2/27) @mrcangye #50848
8 paddle.nn.Dropout2D API需增加FP16类型检查 ✅ (2023/2/28) @Liyulingyue #50904
9 paddle.equal API需增加FP16类型检查 ✅ (2023/2/28) @mrcangye #50933
10 paddle.broadcast_to API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50905
11 paddle.flatten API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50906
12 paddle.gather_nd API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50909
13 paddle.greater_equal API需增加FP16类型检查 ✅ (2023/3/6) @Taylor-Layrose #51098
14 paddle.greater_than API需增加FP16类型检查 ✅ (2023/3/6) @Jx-qi #51090
15 paddle.less_equal API需增加FP16类型检查 ✅ (2023/3/6) @BellaZYL #51094
16 paddle. less_than API需增加FP16类型检查 ✅ (2023/3/6) @hh-qiao #51145
17 paddle.log API需增加FP16类型检查 ✅ (2023/3/7) @yiakwy #51216
18 paddle.log1p API需增加FP16类型检查 ✅ (2023/3/7) @yiakwy #51216
19 paddle.logsumexp API需增加FP16类型检查 ✅ (2023/3/7) @yiakwy #51216
20 paddle.nn.functional.pixel_shuffle API需增加FP16类型检查 ✅ (2023/3/6) @Bjmw3 #51139
21 paddle.nn.AvgPool1D API需增加FP16类型检查 ✅ (2023/2/27) @thexf #50929
22 paddle.nn.AvgPool3D API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50920
23 paddle.nn.functional.temporal_shift API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50919
24 paddle.tile API需增加FP16类型检查 ✅ (2023/2/28) @enkilee #50913
25 paddle.unbind API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50916
26 paddle.nansum API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50847
27 paddle.nn.AlphaDropout API需增加FP16类型检查 ✅ (2023/2/27) @Liyulingyue #50917
28 paddle.nn.LocalResponseNorm API需增加FP16类型检查✅ (2023/2/28) @Liyulingyue #50918
29 paddle.nn.PairwiseDistance API需增加FP16类型检查✅ (2023/2/27) @Ainavo #50849
30 paddle.stdAPI需增加FP16类型检查 ✅ (2023/3/2) @longranger2 #50936
31 paddle.tensordot API需增加FP16类型检查✅ (2023/2/28) @longranger2 #50938
32 paddle.diagflat API需增加FP16类型检查 ✅ (2023/3/1) @longranger2 #50945
@enkilee
Copy link
Contributor

enkilee commented Feb 23, 2023

认领2 argmin

@ccsuzzh
Copy link
Contributor

ccsuzzh commented Feb 23, 2023

认领3 argsort

@longranger2
Copy link
Contributor

认领30、31、32

@mrcangye
Copy link
Contributor

mrcangye commented Feb 23, 2023

认领7(完成PR:#50848 ),9,17

@Liyulingyue
Copy link
Contributor

26

@ShiYue-oo
Copy link
Contributor

认领13、14、15、16

@Ainavo
Copy link
Contributor

Ainavo commented Feb 23, 2023

认领29

@NotHaozi
Copy link
Contributor

认领 4 paddle.clip

@luotao1
Copy link
Contributor

luotao1 commented Feb 27, 2023

@cascasc 不好意思,任务19已经有 PR 了:#50832 (comment)

@ghost
Copy link

ghost commented Feb 27, 2023

好的,认领20

@luotao1
Copy link
Contributor

luotao1 commented Mar 1, 2023

该任务时间:PR 截止提交时间是3月3日,截止合入时间是3月6日

@hh-qiao @cascasc remind下时间哈~

@ShiYue-oo
Copy link
Contributor

ShiYue-oo commented Mar 1, 2023 via email

@Taylor-Layrose
Copy link
Contributor

认领13、14

@ShiYue-oo
Copy link
Contributor

ShiYue-oo commented Mar 1, 2023 via email

@luotao1
Copy link
Contributor

luotao1 commented Mar 7, 2023

感谢所有参与的16位小伙伴,这个任务已经全部做完了:

@zhangting2020 (1), @Liyulingyue (10), @mrcangye (2), @Ainavo (1), @enkilee (3), @NotHaozi (1), @thexf (1), @ccsuzzh (1), @CollaborativeFiltering (1), @longranger2 (3), @Bjmw3 (1), @hh-qiao (1), @Jx-qi (1), @Taylor-Layrose (1) @BellaZYL (1) @yiakwy (3)

欢迎大家继续关注飞桨快乐开源活动,我们近期会发布新的任务,谢谢大家!

@luotao1 luotao1 closed this as completed Mar 7, 2023
@paddle-bot paddle-bot bot added status/close 已关闭 and removed status/reopen 重新打开 labels Mar 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.