为Autodistill贡献 🛠️¶
感谢您对参与Autodistill的兴趣!
我们欢迎任何贡献来帮助我们提高 autodistill 的质量并扩大支持的模型范围。
贡献指南¶
我们欢迎对以下内容的贡献:
- 添加一个新的基础模型(请参阅下面的更多指导)。
- 添加一个新的目标模型(请参阅下面的更多指导)。
- 报告项目中的错误和问题。
- 提交新的任务或功能请求。
- 改进我们的测试覆盖率。
贡献特性¶
Autodistill 的设计考虑了模块化。我们希望 autodistill 能跨越不同的模型和问题类型,提供一致的模型蒸馏接口。
我们欢迎为项目添加新模型的贡献。在您开始之前,请确保没有其他贡献者已经开始您想要添加的模型的工作。您可以查看项目README以获取我们关于添加更多模型的路线图。
要添加一个新模型,创建一个新的仓库,该仓库需要 autodistill 并实现 BaseModel 或 TargetModel 类以满足你的任务。你可以使用现有的模型作为指导,以了解如何构建你的代码。
最后,您需要为模型添加文档,并从autodistill的README中链接到它。您可以在docs/models目录中添加一个新页面,描述您的模型及其使用方法。您可以使用现有的模型文档作为如何构建文档的指南。
如何贡献更改¶
首先,将这个仓库分叉到你自己的GitHub账户。创建一个描述你更改的新分支(即 line-counter-docs)。将你的更改推送到你分叉的分支上,然后提交一个拉取请求到这个仓库。
在创建新函数时,请确保您拥有以下内容:
- 函数及所有参数的文档字符串。
- 函数文档中的示例。
- 在我们的文档中创建了一条记录,以自动生成该函数的文档。
所有的拉取请求将由项目的维护者进行审查。如果需要,我们将提供反馈并要求进行更改。
PR必须通过所有测试和代码检查要求才能合并。
🧹 代码质量¶
我们在 Makefile 中提供了两个方便的命令,即:
make style来格式化代码make check_code_quality检查代码质量(基本上是PEP8)
到目前为止, 没有使用 mypy 进行类型检查。请参见 问题。
🧪 测试¶
pytests 用于运行我们的测试。