-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Description
公告
- 非常欢迎你对飞桨框架做贡献,我们正在运营一个组织——飞桨框架贡献者俱乐部(Paddle Framework Contributor Club, PFCC),会通过定期分享技术知识与发布开发者主导任务的形式持续为飞桨框架做贡献。如果你有意向加入 PFCC,可以提交 PR 至 Paddle,代码合入后,我们会邀请你加入,如果你对某期技术分享的内容感兴趣,也可以通过邮件(ext_paddle_oss@baidu.com)联系我们旁听例会。更多详情见 https://github.com/luotao1 主页说明。
- 如果你是在校的学生,并且有兴趣参加飞桨社区的框架护航项目,非常欢迎你依据这份材料来申请:百度飞桨框架护航计划。
飞桨快乐开源活动
飞桨快乐开源活动旨在鼓励更多的开发者参与到飞桨社区的开源建设中,帮助社区修复 bug 或贡献 feature,加入开源、共建飞桨。
为了帮助大家循序渐进地了解、建议、开发飞桨开源项目,我们提供了三种类型的贡献任务,并为完成任务的贡献者准备了礼品表示感谢!快来提 PR,领取飞桨礼物🎁啦~
飞桨各大 Repo 的快乐开源活动(奖励共享)
- 科学计算:🎁PaddleScience 快乐开源活动表单 PaddleScience#379
- 动转静子图 Fallback 孵化项目:🪄 PaddleSOT 喵喵大入侵计划 💥 PaddleSOT#305
- 飞桨套件(OCR、Seg、Clas、NLP、Det、3D):🏅️飞桨套件快乐开源常规赛 PaddleOCR#10223
奖励一览
活动时间(长期有效)
热身任务
这里是一些入门级的热身任务,任务一是 git 操作练习,任务二是编译 paddle 练习,如果你没有相关背景知识,参与热身任务会帮你快速掌握这些基础知识。
任务一:修改飞桨 API 文档,使其符合规范
飞桨框架为用户提供中英双语的 API 文档,英文文档以 docstring 的方式维护在 Paddle 仓库,中文文档以 rst 文档的方式维护在 docs 仓库,最终统一展示在飞桨官网 API文档 目录下。在维护双语 API 文档的过程中,出现了诸如:中英文文档不一致、示例代码跑不通、docstring 编译报错等问题,经 ppsig-docs 小组评估,整理出若干需要修复的文档列表,详见 docs working group 清单。其中大部分问题都可以通过比较简单的修改来解决,很适合作为第一次开源贡献。你可以从中选取5-10个 API 进行整体修改与 PR,PR 合入后,你将会成为 Paddle 和 docs 开源项目的 contributor。
mentor:@Ligoml
参考链接:
任务二:拉取 Paddle 代码,完成本地编译
在飞桨框架开发中,编译 Paddle 是一个重要环节,也是很多任务(如 API 开发、算子性能优化、数据类型扩展等)的前置条件。完成本次编译体验,你会对 Paddle 代码有更深入的理解,也便于你参与后续的框架开发任务。
本任务邮件通过验收后,即可收到限量版飞桨开源社区定制马克杯,数量有限,先到先得~
mentor:@luotao1
参考链接:
命题任务
这里是一些比较明确和具体的任务,这些任务已经经过飞桨社区开发者和飞桨研发的多轮讨论,是可以直接上手去做的任务,任务细节可以在具体 tracking issue 中与 mentor 沟通(你也可以联系邮箱 ext_paddle_oss@baidu.com 加微信群沟通)。任务进展见:Call for Contributions ,结项任务见 #48019 (comment)
任务名称 | 任务描述 | tracking issue | mentor |
---|---|---|---|
框架API易用性提升 🆕 | 为了提升模型迁移的效率,我们建设了 代码自动转换工具: PaddlePaddle Code Convert Toolkits,为了降低 代码自动转换工具 中转换策略Matcher的开发难度,我们需要对部分框架API的功能和易用性进行增强。 | #55883 | @zhwesky2010 |
新增 API & 对应的 inplace API 🆕 | 为提高Paddle API丰富度,现需为飞桨框架新增一系列 API&&对应inplace API | #56266 | @GGBond8488 |
复数数据类型扩展任务🆕 | 为算子支持complex64/complex128 2种复数类型 | #56145 | @GGBond8488 |
算子GPU性能优化🆕 | 为飞桨优化一系列算子的GPU性能,以提升模型训练效率 | #56119 | @zhangting2020 |
分批次修改已有代码的示例 🆕 | 目前项目中的 python 示例代码大多采用无提示符的裸代码形式,这样的书写方式给示例代码的检查带来较多不便。最新版本的 Paddle 已经引入 xdoctest 辅助进行示例代码的检查,为了更好的规范示例代码的编写与测试其功能的正确性,特开此活动,目的是将上述示例代码改写为有提示符 (>>> 和 ... ) 的形式并开展示例代码检查。 |
#55629 | @SigureMo @sunzhongkai588 |
🎉 Paddle 之艾尔登(IR Dialect)快乐勇士挑战赛 ⚔ 🆕 | 飞桨 PaddlePaddle 开源之初,是以「静态图」组网为默认范式的,转眼间,岁月葱葱(没写错)。飞桨对于中间表示 IR 的「扩展性」要求越来越高,我们终于决定重构掉旧的 Program 体系,孵化「艾尔登」(即 IR Dialect 音译)项目 , 支撑组合算子、AI 编译器、分布式自动并行、训推端统一,更有力地提升飞桨在 「科学计算 🌊」、「编译优化 🔧」、「大模型 ⛰」 领域的潜力。 | #55205 | @zhangbo9674 @kangguangli @Aurelius84 |
数据类型扩展任务🆕 | 为算子支持FP16/BF16 2种低精度类型 | #54871 | @zhangting2020 |
Pytorch-Paddle代码转换工具开源任务🆕 | 目的是实现将 PyTorch 代码自动化的转写成 Paddle 代码,从而提升模型迁移的效率。此次对外开放408个API的转换支持,欢迎大家提 PR 来一起支持自动转换 | PaddlePaddle/PaConvert#112 | @Vooolta @zhwesky2010 |
Type Hint 类型注释 | 在深度学习代码中充斥着各种 Tensor ,但 Python 是一门动态编程语言,如果不给变量添加类型,IDE 将无法进行智能提示,故 Type Annotation(类型注释)对于提升编程体验至关重要。 |
PaddlePaddle/community#346 | @wj-Mcat |
黑客松挑战性任务 | 往期飞桨黑客松中尚未被攻克的挑战性任务 | #48022 | 联系 @Ligoml 对接 mentor |
开放任务
-
💡 提出你的想法
-
good first issue 通常是一些小功能的开发、bug 的修复或之前开发者未完成的功能,你可以通过完成这个 ISSUE/PR 来踏出贡献代码的第一步。
-
你可以浏览 Paddle 仓库中其他的 issues ,如果你恰好对其中的 issue 感兴趣,欢迎分享你的见解 😊
-
你在日常研究和实践深度学习过程中,有哪些你期望的 feature 亟待实现?
- 更快的数据集预处理、加载优化,DataPipe;
- 更友好的运行时错误信息/警告,更丰富的 profile 信息,devcontainer 集成;
- 还是缺失的 Loss Function, Layer, Metric, Optimizer, Scheduler 实现
- 我们不拘泥于以上,方向不限 ✨
-
-
🆕 新建一个 issue/feature-request
请按照 template 中的格式描述你想实现的 feature 和你提出的初步实现思路,在issue标题中标注【开放任务讨论】,方便我们快速找到 -
💬 社区讨论和 review
好的想法往往需要打磨,讨论是开源社区贡献的重要部分 -
🤗 提交你的 PR
有疑问,可参阅 Code-of-Conduct, Contribution Guide 和随时交流