高效提交错误报告指南

在向Ultralytics YOLO项目的代码库提交错误报告时,提供一个最小可复现示例(MRE)是至关重要的。MRE是一个小型且独立的代码片段,它展示了遇到的问题。提供MRE可以帮助维护者和贡献者更有效地理解问题并寻找解决方案。以下是创建MRE的指南。

1. 隔离问题

创建MRE的第一步是隔离问题。移除任何与问题无直接关系的代码或依赖项。专注于引起问题的代码部分,并删除不相关的部分。

2. 使用公共模型和数据集

在创建MRE时,使用公开可用的模型和数据集来复现问题。例如,使用命令和模型以及数据集。这样可以确保维护者和贡献者能够轻松地运行示例并调查问题,而无需访问专有数据或自定义模型。

3. 包含所有必要的依赖项

确保MRE中包含了所有必要的依赖项。如果代码依赖于外部库,请指定所需的包及其版本。理想情况下,应在错误报告中列出依赖项,例如使用命令检查。

4. 编写清晰的主题描述

提供清晰简洁的问题描述。解释预期的行为和遇到的实际行为。如果适用,包括任何错误消息或相关日志。

5. 正确格式化代码

通过在问题描述中使用代码块来正确格式化代码。这使得其他人更容易阅读和理解代码。在GitHub上,可以通过将代码用三个反引号包围并指定语言来创建代码块:

python # Python代码放在这里

6. 测试MRE

在提交MRE之前,测试它以确保它准确地复现了问题。确保其他人可以无问题地运行示例,无需任何修改。

MRE示例

以下是一个假设错误报告的MRE示例:

故障描述:

在执行0通道图像的推理时,遇到了一个与输入张量尺寸相关的错误。

MRE:

import torch from ultralytics import YOLO # 加载模型 model = YOLO("yolov8n.pt") # 加载一个0通道的图像 image = torch.rand(1, 0, 640, 640) # 运行模型 results = model(image)

错误消息:

RuntimeError: Expected input[1, 0, 640, 640] to have 3 channels, but got 0 channels instead

依赖项:

torch==2.3.0 ultralytics==8.2.0

在这个示例中,MRE用最少的代码展示了问题,使用了公共模型,包括了所有必要的依赖项,并提供了清晰的问题描述以及错误消息。

常见问题解答

如何为Ultralytics YOLO项目的错误报告创建有效的最小可复现示例(EMR)?

要为Ultralytics YOLO项目的错误报告创建有效的最小可复现示例(EMR),请按照以下步骤操作:

隔离问题:移除任何与问题无直接关系的代码或依赖项。

使用公共模型和数据集:使用资源如和以便于复现。

包含所有必要的依赖项:指定所需的包及其版本。可以使用命令检查如果有ultralytics安装或pip list对于其他工具。

编写清晰的问题的描述:解释预期的行为和实际行为,包括任何错误消息或日志。

正确格式化代码:使用代码块来格式化代码,以便于阅读。

测试MRE:确保MRE可以无修改地复现问题。

有关详细指南,请参考创建最小可复现示例。

为什么要在Ultralytics YOLO错误报告的MRE中使用公共模型和数据集?

在Ultralytics YOLO错误报告的MRE中使用公共模型和数据集可以确保维护者能够轻松地运行示例,而无需访问专有数据。这允许更快速和有效的故障排除。例如,如果使用模型和,它有助于标准化和简化调试过程。有关公共模型和数据集的更多信息,请访问使用公共模型和数据集部分。

应该在Ultralytics YOLO错误报告中包含哪些信息?

完整的Ultralytics YOLO错误报告应包括:

清晰的描述:解释问题,预期的行为和实际行为。

错误消息:包括任何错误消息或日志。

依赖项:列出所需的依赖项及其版本。

MRE:提供一个最小可复现示例

复现步骤:概述复现问题所需的步骤。

有关完整检查列表,请参考撰写清晰的主题描述部分。

如何在GitHub上正确格式化错误报告中的代码?

要在GitHub上正确格式化错误报告中的代码,请使用三个悬挂点(```)创建代码块。指定编程语言以进行语法突出显示,例如```python。确保代码有正确的缩进,以便于阅读。示例:

python # Python代码放在这里

有关代码格式化的更多建议,请参考正确格式化代码。

在提交错误报告的MRE之前,应该注意哪些常见错误?

在提交MRE之前,请确保:

检查问题是否可复现。

确保所有依赖项都已列出并且正确。

移除任何不必要的代码。

测试MRE以确保它无修改地复现问题。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485