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

MobileNet V3模型训练完成后执行eval.py评估失败求助

TensorFlow 1.15目标检测模型问题排查与解决

训练结束时的RuntimeError: Coordinator stopped with threads still running

问题原因

TensorFlow 1.x依赖队列线程(QueueRunner)处理数据入队,训练结束时dummy_queue对应的同步入队线程未被正确终止,导致协调器(Coordinator)无法正常完成停止流程。

解决方案

  • 在训练脚本的收尾逻辑中,调用coord.request_stop()后,增加coord.join(threads, stop_grace_period_secs=10),给线程预留10秒的优雅退出时间,避免强制终止引发报错。
  • 确认训练循环的终止逻辑,当达到50000轮时,主动停止所有队列的入队操作,确保线程无任务可执行后再触发协调器停止。

评估时cuDNN初始化失败的UnknownError

问题原因

  • CUDA、cuDNN与TensorFlow 1.15版本不兼容:TensorFlow 1.15仅支持CUDA 10.0/10.1,对应的cuDNN版本为7.4.x至7.6.x,版本不匹配会直接导致cuDNN初始化失败。
  • GPU显存未释放:训练进程结束后未彻底释放显存,评估时无法分配足够资源初始化cuDNN。
  • GPU驱动版本过低,无法支持当前cuDNN的功能要求。

解决方案

  • 严格匹配版本:安装TensorFlow 1.15对应版本的CUDA(推荐10.0)和cuDNN(7.4.2),确保三者版本兼容。
  • 清理显存资源:训练结束后关闭所有相关进程,或在评估脚本开头添加tf.reset_default_graph()和tf.Session().close(),强制释放GPU显存。
  • 更新GPU驱动至对应CUDA版本要求的最低版本以上。

类别无真实标注示例的警告

问题原因

标注数据中存在80个类别内的部分类别没有对应的标注实例,评估时无法计算该类别的检测指标,因此触发警告。

解决方案

  • 检查标注文件(如TFRecord、XML),确认是否遗漏了对应类别的标注,若有则补充标注数据;若该类别确实无样本,从模型配置文件的类别列表中移除该类别。
  • 修改评估脚本,添加无标注类别的判断逻辑,跳过该类别的指标计算,消除警告输出。

空切片均值计算警告

问题原因

评估过程中,部分批次的检测结果或标注框为空,导致计算均值时触发空切片操作,引发警告。

解决方案

  • 在评估脚本的均值计算代码段添加判断:当切片为空时,跳过计算或设置默认值(如0),避免空操作。
  • 检查评估数据集的标注完整性,确保每个批次至少包含一个有效标注或检测结果,减少空数据输入的情况。

内容的提问来源于stack exchange,提问作者Ahmad Azzam Alhanafi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:42:57