跳至内容

如何捐款 🚀

欢迎您我们很高兴您考虑为 Ultralytics开源项目。您的参与有助于提高我们资源库的质量,并使整个计算机视觉社区受益。

完整指南

如需了解全面的贡献指南,请参阅我们主要文档中的《 Ultralytics 官方贡献指南》。

Ultralytics 的开源贡献者

观看:为Ultralytics做贡献

快速入门指南 🎯

准备好捐款了吗?请按照以下步骤操作

  1. 阅读我们的行为准则--尊重、友善和专业精神
  2. 分叉您要贡献的版本库
  3. 创建具有描述性名称的功能分支
  4. 按照编码标准进行修改
  5. 为新功能编写测试
  6. 提交附有清晰描述的拉取请求
  7. 在您的 PR 中发表评论,签署 CLA
  8. 回应审稿人的反馈意见

有关详细的 PR 流程,请参阅开发工作流程

贡献准则 📋

行为准则 🤝

所有撰稿人都必须遵守我们基于《撰稿人公约》的《行为准则》。这将确保为每个人营造一个热情、包容的环境。尊重友善专业精神是我们社区的核心。

贡献者许可协议 (CLA) 📝

在我们合并您的 PR 之前,您必须签署我们的CLA。该法律协议可确保您的贡献正确遵循 AGPL-3.0许可,从而保护您和项目。

提交 PR 后,CLA 机器人将为您提供指导。要签名,请发表评论:

I have read the CLA Document and I sign the CLA

CLA 包括

  • 为您的贡献提供版权和专利许可
  • Ultralytics 使用和传播您作品的权利
  • 关于您拥有贡献权的声明
  • 免责声明

请查阅完整的CLA 文件,了解完整的条款。

最佳做法 ✨

贡献代码时:

  • 避免重复:尽可能重复使用现有代码
  • 进行较小的修改:有重点地修改,而不是大规模地修改
  • 简化:寻找简化机会
  • 考虑兼容性:避免破坏现有代码
  • 使用一致的格式:遵循Ruff 格式
  • 添加测试:为新功能加入测试
  • 更新文档:保持文件最新

编码标准 📐

  • 文档字符串:使用Google文档字符串,并在括号中注明类型
  • 行宽:最多 120 个字符
  • 进口:使用 pathlib 而不是 os
  • 测试:所有 PR 必须通过CI 测试
  • 类型提示:在有益的地方使用

有关完整的编码标准,请参阅开发工作流程

捐款方式 🌟

代码贡献 💻

文件 📚

  • 改进现有文件
  • 为特定用例添加教程和指南
  • 修正错别字和错误
  • 将文件翻译成其他语言

测试 🧪

  • 为新功能编写单元测试
  • 在不同机型任务中测试新功能
  • 报告测试覆盖率差距
  • 跨平台性能基准

社区支持 💬

报告错误 🐞

通过GitHub Issues 报告错误,帮助我们改进:

错误报告要求

  1. 检查现有问题,避免重复
  2. 创建最小可重现示例(MRE)-- 重现问题的独立小代码
  3. 描述环境:操作系统、Python 版本、库版本、硬件CPUGPUCPU
  4. 通过错误信息和跟踪反馈解释预期行为与实际行为的差异

怎样才能做好 MRE

最低限度的可复制示例应:

  • 隔离问题删除不必要的代码
  • 使用公共模型和数据集例如 yolov8n.ptcoco8.yaml
  • 包含依赖项:列表 yolo checkspip list
  • 提供清晰的描述:预期行为与实际行为
  • 格式正确:使用带三重回车键的代码块
  • 可测试:他人无需修改即可运行

详细说明请参阅完整的MRE 指南

审核拉取请求 👀

审查 PR 是一项宝贵的贡献:

  • 检查单元测试:验证新功能的测试
  • 审查文件:确保文件得到更新
  • 评估性能:考虑对速度/内存的影响
  • 验证 CI 测试:确认所有测试通过
  • 提供建设性反馈:要具体、有帮助
  • 认可努力:感谢贡献者

许可证信息 📜

AGPL-3.0 许可

Ultralytics 使用 AGPL-3.0协议。这促进了开放性、透明度和协作改进。

在项目中使用YOLO

如果您使用 Ultralytics YOLO模型或代码,AGPL-3.0 要求您的整个衍生作品也在AGPL-3.0 下开源。

为什么合规很重要?

  • 保持软件开放,造福社区
  • 使用AGPL-3.0 代码时的法律要求
  • 促进合作和透明度

替代方案:如果您不想将项目开源,可获取企业许可证

如何遵守AGPL-3.0

在AGPL-3.0 下公开完整的源代码:

  1. 选择起点

  2. 为您的项目颁发许可证

    • 添加 LICENSE 文件中包含完整的 AGPL-3.0 文本
    • 在源文件顶部添加许可声明
  3. 发布源代码,包括

    • 完整的应用程序/系统
    • 修改Ultralytics 代码
    • 培训/验证/推理脚本
    • 修改后的模型权重
    • 使用的配置文件和数据集
    • 后台/前台代码
    • 修改第三方库
    • 可再分发的培训数据
  4. 清楚地记录

    • 中的AGPL-3.0 国家许可证 README/
    • 包括设置说明
    • 属性Ultralytics YOLO 适当

有关结构示例,请参见Ultralytics 模板库

我们的开发团队 👥

请随时向团队成员寻求指导:

名称 GitHub 简介
阿布里什-萨布里 asabri97
阿比拉米-维纳 阿比拉米-维纳
亚历克西斯-舒茨格 picsalex
布尔汉-卡杜米 布尔汗-Q
法提赫-阿克扬 fcakyon
弗朗切斯科-马蒂奥利 雄心勃勃的章鱼
乔瓦尼-达尔-齐利奥 ultralytics
格伦-约切尔 翔宇
Hannah Streif HannahStreif
Jake Qian fengqianjake
Jing Qiu 笑-q
乔伊-特琼 无码乔伊
乔丹-库珀 JCoops1
卡西姆-阿西克巴斯 kayselmecnun
基里尔-瓦尔比茨基 Kverbitski
基里尔-奥布利考 munknex
克里斯蒂安-萨默 sokrisba
拉克尚塔-迪萨纳亚克 lakshanthad
马里乌斯-凯泽尔 Skillnoob
穆罕默德-亚辛 Y-T-G
穆罕默德-里兹万-穆纳瓦 里兹万-穆纳瓦
米科拉-博伊科 mykolaxboiko
尼古拉-尼尔森 niconielsen32
努沃拉-拉迪 NLadi
奥努拉尔普-塞泽尔 onuralpszr
巴勃罗-卡恩鲍姆 pablokarnbaum
Paula Derrenger pderrenger
Prateek Bhatnagar ultralytics
Rick Hou Bovey0809
Ryan Leonel Somali ryanleonels
塞尔吉乌-瓦克斯曼 sergiuwaxmann
Thomas Chuang chuang091
威廉-比文 威廉-贝文
约根德拉-辛格 yogendrasinghx
Tigran Hakobyan tthakz
津妮亚-普尔达 zinnialp
柳帅(路易斯 帅流
阿比-安德森 UltralyticsAbi
金旭 laodouya
Zuzana Kontrikova zkontri
迈尔斯-迪恩斯 ultralytics-丹斯-超数据分析
刘梦雨(梅森 lmycross

获取支持 💬

有问题或需要帮助?

谢谢!🎉

感谢您对Ultralytics 开放源码项目的贡献。您的参与对于塑造我们软件的未来和建立一个充满活力的创新与合作社区至关重要。

我们很高兴看到您的想法变成现实,并感谢您致力于推动物体检测技术的发展。让我们一起继续成长和创新!🚀🌟

资源 📚



📅创建于 4 天前 ✏️已更新 4 天前