How I Started Contributing to Tinygrad – My First 4 Merged PRs
9 months ago
- #deep-learning
- #code-quality
- #open-source
- tinygrad是一个极简主义的深度学习框架,非常适合那些喜欢从零开始构建和编写高质量代码的人。
- 贡献者应彻底阅读代码库,从tensor.py开始,并端到端跟踪操作以理解数据流。
- 使用AI学习代码库,但不要用于生成PR的代码;清晰度和意图比代码量更重要。
- 在贡献之前,请搜索Tinygrad Discord和之前的PR/问题,以避免重复提问并尊重维护者的时间。
- PR应保持最小化、经过充分测试、逻辑范围明确,并采用小提交以便于审查。
- 示例贡献包括用内置fetch替换自定义下载逻辑、修复logcumsumexp等错误、对示例进行lint检查,以及为SDPA添加enable_gqa等功能。
- 验证过程包括本地测试、将输出与预期结果比较,并确保更改在不同环境和设备上正常工作。
- 成功贡献的关键习惯包括发布小改动、严格测试,以及优化信号而非噪音。