You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Few-shot目标检测代码遇除零错误:nsamples读取为0

训练样本数(nsamples)为0导致ZeroDivisionError的排查方案
  • 数据集格式不匹配:
    自定义PASCAL VOC数据集的目录结构或标注文件可能不符合仓库预期。比如仓库要求标注文件必须放在Annotations目录下,且XML文件名与对应图片文件名完全一致(含大小写),若存在文件名不匹配、XML缺失或标注格式错误(如类别名称不符合仓库定义),样本会被过滤,最终nsamples为0。

  • 类别过滤逻辑触发:
    作为少样本检测项目,训练时会依据配置文件中的base_classes或novel_classes参数过滤样本。若自定义数据集的类别不在配置指定的训练类别范围内,所有样本都会被排除,导致nsamples为0。检查配置文件中类别相关参数,确认自定义类别已正确纳入训练范围。

  • 文件读取异常:
    尽管voc_train.txt有315条路径,但代码读取时可能存在编码问题(如文件为GBK编码但代码用UTF-8读取)、路径前后含空格/换行符,导致无法正确解析路径。可手动打印读取后的路径列表,排查是否存在无效路径或空字符串。

  • 数据集加载代码的额外过滤:
    查看仓库中VOC数据集加载代码(如voc.py),是否存在额外过滤条件——比如只保留包含特定数量目标的样本,或排除无标注图片。若自定义数据集中存在无标注图片,或标注目标数量不符合代码要求,样本会被过滤。

  • 路径基准错误:
    若voc_train.txt中使用相对路径,而训练时的工作目录与代码预期的基准目录不一致,会导致路径无法找到对应文件,样本加载失败。可将路径改为绝对路径测试,确认是否能正常加载样本。

内容的提问来源于stack exchange,提问作者Al_Muzakier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 06:13:23