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 lists #49927

Closed
Ligoml opened this issue Jan 18, 2023 · 4 comments
Closed

good first issue lists #49927

Ligoml opened this issue Jan 18, 2023 · 4 comments
Assignees

Comments

@Ligoml
Copy link
Contributor

Ligoml commented Jan 18, 2023

大家好,我们通过代码扫描工具,在 Paddle 框架中检测出若干适合入门框架开发的 issue,这些 issue 可以通过简单的 case 复现。欢迎大家一起提 PR 解决,你可以通过下表认领感兴趣的任务。为表感谢,我们为你准备了新春礼品🎁

对每个 case,我们都提供了详细的错误调用堆栈,能够看到代码在 Paddle 的哪个源码文件中出现这种错误(所以很容易锁定错误代码位置)。这些问题大概率是对输入参数检查不全面导致的,可以通过添加 PADDLE_ENFORCE_相关的参数检查和报错来解决。当然,也有可能是 Paddle 框架/算子内有更深层次的问题。我们希望你做的是:

  1. 安装 Paddle官网develop(Nightly Build)包 复现 case。
  2. 参考《Paddle贡献指南》《Paddle报错信息文案书写规范》,修复 case。
  3. 提交 PR,1个 PR 修复1个 case。
    a. PR 描述中请介绍你发现的原因及你的解决办法。
    b. 请同时将复现 case 添加为1个单测。不要新建单测文件,将单测放到框架(模块)/算子已有的单测文件中。

注:

  1. 你可以参考这个修复 PR 实例:[Bug fix] Fix kaiming initializer div zero #49656
  2. 这些 case 修复难度不大,还能借此了解Paddle的机制,欢迎参与~
  3. 历史上的 good first issue 列表,也欢迎来提 PR 解决~
  4. 春节期间(2023.1.21-2023.1.27)可能会存在回复不及时的情况,会在年后逐渐恢复,礼品也会在年后统一寄出,敬请关注!
  5. 欢迎联系花花加入社区,和我们一起快乐开源!

image

Hello, we have detected several good first issues in the PaddlePaddle framework by code scanning tools. These issues can be reproduced through simple cases. Welcome to solve together, and you can claim the tasks of interest through the following table. To express our gratitude, we have prepared a Chinese New Year gift for you 🎁

For each case, we provide a detailed stack trace message. In the stack trace message, you can see which source code file contains this error (so it is easy to lock the error code location). This problem is probably caused by incomplete inspection of input parameters. You can add PADDLE_ ENFORCE_* parameter checking and error reporting. Of course, these problems may also be caused by deeper bugs in the framework or operators. We hope contributors to do the followings:

  1. Reproduce the case by installing the development (Nightly Build) package on Paddle's official website.
  2. Refer to Paddle Installation Guide and Paddle Error Message Writing Specification to compile from the source code and fix problems.
  3. Submit PR and each PR fix one case.
    a. Please introduce the reasons you found and your solution in the PR description.
    b. Please also add the reproduced case as a unit test into the existing test file of the framework (module)/operator. Do not create a new single test file.

NOTE:

  1. Please refer to the example PR: [Bug fix] Fix kaiming initializer div zero #49656
  2. These cases are not difficult to repair. By the way, you can also learn the mechanism of the PaddlePaddle framework. Welcome to participate ~
  3. Welcome to submit PR for the list of good first issues in history ~
  4. During the Chinese Spring Festival (2023.1.21-2023.1.27), there may be delayed responses to review the PR, and gifts will also be sent after the year. Please pay attention!
  5. If you have WeChat, you can contact Krystal to join the community and open source happily with us!
@PaddlePaddle PaddlePaddle deleted a comment from paddle-bot bot Jan 18, 2023
@Ligoml Ligoml assigned Ligoml and unassigned wangzhen38 Jan 18, 2023
@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

整体进展 (88/88)

  1. 按 merge 的时间顺序,排名不分先后: @Liyulingyue (17), @DrRyanHuang (2), @RedContritio (27), @ccsuzzh (1) @gouzil (6) @longranger2 (5) @enkilee (1) @chenxiao120660 (1) @1180300923 (1) @supplyout (1) @co63oc (1) @zeroRains (2) @Difers (1)
  2. develop已修: @jiweibo (1), @zhouwei25 (1)
  3. 无法复现:19 (原因有两种:开发者修了1个算子,连带几个问题都不见了;API被删除了)
任务分类
Task classification
任务
issueTask issue
认领人Claimant 修复 PR
Repair PR
➗0(divide by 0) Case1: paddle.linalg.matrix_power ✅ (2023/1/31) @Liyulingyue #49942
➗0(divide by 0) Case2: paddle.static.nn.sparse_embedding ✅ (2023/2/1) @Liyulingyue #49948
➗0(divide by 0) Case3: paddle.static.nn.deform_conv2d✅ (2023/1/30) @Liyulingyue #49962
➗0(divide by 0) Case4: paddle.static.nn.sequence_concat✅ (2023/2/7) @Liyulingyue #49963
➗0(divide by 0) Case5: paddle.vision.ops.psroi_pool ✅ (2023/1/31) @Liyulingyue #49965
➗0(divide by 0) Case6: paddle.nn.functional.softmax_with_cross_entropy 无法复现
➗0(divide by 0) Case7: paddle.nn.functional.pixel_shuffle✅ (2023/1/31) @Liyulingyue #49996
➗0(divide by 0) Case8: paddle.nn.functional.npair_loss ✅ (2023/3/6) @supplyout #51092
➗0(divide by 0) Case9: paddle.nn.functional.normalize✅ (2023/2/3) @gouzil #49977
➗0(divide by 0) Case10: paddle.nn.functional.max_pool2d/max_pool3d✅ (2023/2/2) @RedContritio #50012
➗0(divide by 0) Case11: paddle.nn.functional.max_pool1d/max_pool2d/max_pool3d✅ (2023/2/1) @RedContritio #50010
➗0(divide by 0) Case12: paddle.linalg.svd ✅ (2023/2/3) @gouzil #49968
➗0(divide by 0) Case13: paddle.linalg.norm ✅ (2023/2/1) @gouzil #49966
➗0(divide by 0) Case14: paddle.linalg.pinv✅ (2023/1/30) @DrRyanHuang #49951
➗0(divide by 0) Case15: paddle.linalg.eig ✅ (2023/2/1) @gouzil #49971
➗0(divide by 0) Case16: paddle.linalg.lu✅ (2023/2/1) @gouzil #49974
➗0(divide by 0) Case17: paddle.incubate.graph_reindex ✅ (2023/3/17) @co63oc #51714
➗0(divide by 0) Case18: paddle.logsumexp ✅ (2023/3/1) @chenxiao120660 #51034
➗0(divide by 0) Case19: paddle.min 无法复现
➗0(divide by 0) Case20: paddle.min ✅ (2023/2/3) @RedContritio #50013
➗0(divide by 0) Case21: paddle.mode ✅ (2023/3/1) @chenxiao120660 #51091
➗0(divide by 0) Case22: paddle.lerp 无法复现
➗0(divide by 0) Case23: paddle.floor_mod ✅ (2023/1/31) @Liyulingyue #49997
➗0(divide by 0) Case24: paddle.chunk ✅ (2023/2/7) @Liyulingyue #49998
➗0(divide by 0) Case25: paddle.dot ✅ (2023/2/13) @RedContritio #50014
➗0(divide by 0) Case26: paddle.all✅ (2023/3/2) @1180300923 #51088
➗0(divide by 0) Case27: paddle.nn.functional.label_smooth 无法复现
➗0(divide by 0) Case28: paddle.nn.functional.conv3d/conv2d✅ (2023/2/7) @Liyulingyue #49999
➗0(divide by 0) Case29: paddle.nn.functional.conv1d_transpose/conv3d_transpose ✅ (2023/2/1) @Liyulingyue #50000
➗0(divide by 0) Case30: DataNormKernel✅ (2023/3/14) @gouzil #51583
➗0(divide by 0) Case31: AffineChannelKernel 无法复现、API已经删除
➗0(divide by 0) Case32: paddle.split ✅ (2023/2/6) @Liyulingyue #49958
➗0(divide by 0) Case33: paddle.fft.rfftfreq✅ (2023/2/6) @Liyulingyue #49955
➗0(divide by 0) Case34: paddle.fft.fftfreq✅ (2023/1/27) @Liyulingyue #49954
➗0(divide by 0) Case35: paddle.optimizer.lr.NoamDecay ✅ (2023/1/31) @Liyulingyue #49953
空指针 (Null pointer) Case1: paddle.metric.accuracy 无法复现
空指针 (Null pointer) Case2: paddle.linalg.lu_unpack✅ (2023/1/30) @RedContritio #49976
空指针 (Null pointer) Case3: paddle.linalg.matrix_power ✅ (2023/2/1) @Liyulingyue #50015
空指针 (Null pointer) Case4: paddle.incubate.graph_khop_sampler✅ (2023/3/21) @zeroRains #51784
空指针 (Null pointer) Case5: paddle.incubate.graph_khop_sampler ✅ (2023/3/21) @zeroRains #51784
空指针 (Null pointer) Case6: paddle.distribution.Multinomial 无法复现
空指针 (Null pointer) Case7: paddle.distribution.Beta✅ (2023/3/22) @Difers #51847
空指针 (Null pointer) Case8: paddle.slice✅ (2023/2/1) @RedContritio #49979
空指针 (Null pointer) Case9: paddle.topk 无法复现
空指针 (Null pointer) Case10: paddle.topk 无法复现
空指针 (Null pointer) Case11: paddle.unbind 无法复现
空指针 (Null pointer) Case12: paddle.unique_consecutive✅ (2023/1/31) @RedContritio #49978
空指针 (Null pointer) Case13: paddle.median ✅ (2023/1/31) @Liyulingyue #50017
空指针 (Null pointer) Case14: paddle.atan2 ✅ (2023/1/31) @RedContritio #49973
空指针 (Null pointer) Case15: paddle.broadcast_tensors ✅ (2023/1/31) @RedContritio #49980
空指针 (Null pointer) Case16: paddle.logsumexp 无法复现
空指针 (Null pointer) Case17: paddle.flip ✅ (2023/2/6) @RedContritio #50028
Python IndexError Case1: paddle.linalg.lstsq ✅ (2023/2/1) @RedContritio #49985
Python IndexError Case2: paddle.incubate.nn.FusedMultiHeadAttention✅ (2023/2/1) @RedContritio #49986
Python IndexError Case3: paddle.incubate.nn.FusedTransformerEncoderLayer✅ (2023/2/1) @RedContritio #49986
Python IndexError Case4: paddle.optimizer.lr.PiecewiseDecay ✅ (2023/2/2) @RedContritio #49987
Python IndexError Case5: paddle.unstack ✅ (2023/1/30) @DrRyanHuang #49943
Python IndexError Case6: paddle.moveaxis @zhouwei25 #49813
Python IndexError Case7: paddle.static.nn.spectral_norm ✅ (2023/1/30) @RedContritio #49988
Python IndexError Case8: paddle.static.nn.nce✅ (2023/2/2) @RedContritio #49989
Python IndexError Case9: paddle.static.nn.deform_conv2d ✅ (2023/2/1) @RedContritio #49990
Python IndexError Case10: paddle.static.nn.conv2d_transpose ✅ (2023/1/31) @Liyulingyue #50005
Python IndexError Case11: paddle.static.nn.data_norm ✅ (2023/2/6) @longranger2 #50097
Python IndexError Case12: paddle.static.nn.bilinear_tensor_product ✅ (2023/2/6) @longranger2 #50008
Python IndexError Case13: paddle.static.nn.batch_norm✅ (2023/1/31) @ccsuzzh #50011
Python IndexError Case14: paddle.nn.functional.glu ✅ (2023/2/10) @longranger2 #50016
Python IndexError Case15: paddle.nn.functional.upsample 无法复现
Python IndexError Case16: paddle.nn.functional.max_unpool2d/max_unpool3d✅ (2023/2/2) @RedContritio #49991
Python IndexError Case17: paddle.nn.functional.interpolate✅ (2023/1/31) @RedContritio #49992
Python IndexError Case18: paddle.nn.functional.conv3d_transpose✅ (2023/2/2) @longranger2 #50001
Python IndexError Case19: paddle.nn.functional.conv2d_transpose ✅ (2023/2/2) @longranger2 #50006
UFA非法地址访问 (UFA illegal address access) Case1: paddle.vision.ops.nms✅ (2023/1/31) @RedContritio #49993
UFA非法地址访问 (UFA illegal address access) Case2: paddle.scatter✅ (2023/2/10) @RedContritio #50025
UFA非法地址访问 (UFA illegal address access) Case3: paddle.crop✅ (2023/2/1) @RedContritio #49994
UFA非法地址访问 (UFA illegal address access) Case4: paddle.unbind ✅ (2023/2/1) @RedContritio #49995
堆栈溢出 (stack overflow) Case1: paddle.trace 无法复现
堆栈溢出 (stack overflow) Case2: paddle.unique @jiweibo #49385
堆栈溢出 (stack overflow) Case3: paddle.metric.accuracy✅ (2023/2/3) @RedContritio #49984
堆栈溢出 (stack overflow) Case4: paddle.linalg.norm 无法复现
堆栈溢出 (stack overflow) ~~ Case5: paddle.incubate.graph_reindex~~ 无法复现
~~堆栈溢出 (stack overflow) ~~ Case6: paddle.incubate.optimizer.functional.minimize_lbfgs 无法复现
堆栈溢出 (stack overflow) Case7: paddle.distribution.StickBreakingTransform 无法复现
堆栈溢出 (stack overflow) Case8: paddle.unique_consecutive✅ (2023/2/3) @RedContritio #49983
堆栈溢出 (stack overflow) Case9: paddle.repeat_interleave✅ (2023/1/31) @RedContritio #49982
堆栈溢出 (stack overflow) Case10: paddle.unique✅ (2023/1/31) @RedContritio #49981
堆栈溢出 (stack overflow) Case11: paddle.topk 无法复现
堆栈溢出 (stack overflow) Case12: paddle.transpose 无法复现
堆栈溢出 (stack overflow) Case13: paddle.gather ✅ (2023/2/10) @enkilee #50243

其他成果

@Ligoml Ligoml pinned this issue Jan 18, 2023
@DrRyanHuang
Copy link
Member

DrRyanHuang commented Jan 18, 2023

@Ligoml 您好,想问下是要在 Python 端加输入检查,还是要在C++端用 PADDLE_ENFORCE_EQ 做检查呢 ?

@wanghuancoder
Copy link
Contributor

wanghuancoder commented Jan 19, 2023

您好,想问下是要在 Python 端加输入检查,还是要在C++端用 PADDLE_ENFORCE_EQ 做检查呢 ?

根据情况而定。能够在C++端加的,一定要在C++端加。如果C++端不具备条件的,则在Python端加。

@jzhang533 jzhang533 unpinned this issue Feb 20, 2023
@luotao1
Copy link
Contributor

luotao1 commented Mar 22, 2023

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

@Liyulingyue (17), @DrRyanHuang (2), @RedContritio (27), @ccsuzzh (1) @gouzil (6) @longranger2 (5) @enkilee (1) @chenxiao120660 (1) @1180300923 (1) @supplyout (1) @co63oc (1) @zeroRains (2) @Difers (1)

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

@luotao1 luotao1 closed this as completed Mar 22, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in Call for Contributions Mar 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

5 participants