将 Tensorflow 对象检测教程扩展到多个时出错 类
Error extending Tensorflow object detection tutorial to multiple classes
我正在尝试使用自定义数据集扩展 tensorflow/models/research/object_detection
项目中的 this 示例以支持多个 类,但我遇到了一个我不明白的错误.我完全是机器学习概念的业余爱好者,我只是想训练一个模型,以便我可以在我正在开发的应用程序中进行对象检测。
错误是:
ValueError: No gradients provided for any variable: ['WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalBoxHead/BoxPredictor/kernel:0', 'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalBoxHead/BoxPredictor/bias:0', 'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalClassHead/ClassPredictor/kernel:0', 'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalClassHead/ClassPredictor/bias:0'].
显示问题的完整 Google Colab 笔记本是 here。您应该可以复制笔记本,然后单击 Runtime -> Run All
重现问题。
我对原始笔记本(在我的笔记本中用 [MITCH]
注释)所做的更改是:
- 从标签映射文件中解析标签,而不是对其进行硬编码。
- 从解析的标签映射而不是硬编码中得出 类 的数量。
- 使用来自 google 驱动器的自定义数据集(标有
labelImg
)。
- 修正关于 类 数量的其他硬编码假设。
我猜我只是错过了其他硬编码的东西,但我无法发现它...非常感谢任何帮助!
我得到了 answer on Reddit。我只是错过了 model.predict()
的电话……我一定是笨手笨脚的。 /facepalm
我正在尝试使用自定义数据集扩展 tensorflow/models/research/object_detection
项目中的 this 示例以支持多个 类,但我遇到了一个我不明白的错误.我完全是机器学习概念的业余爱好者,我只是想训练一个模型,以便我可以在我正在开发的应用程序中进行对象检测。
错误是:
ValueError: No gradients provided for any variable: ['WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalBoxHead/BoxPredictor/kernel:0', 'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalBoxHead/BoxPredictor/bias:0', 'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalClassHead/ClassPredictor/kernel:0', 'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalClassHead/ClassPredictor/bias:0'].
显示问题的完整 Google Colab 笔记本是 here。您应该可以复制笔记本,然后单击 Runtime -> Run All
重现问题。
我对原始笔记本(在我的笔记本中用 [MITCH]
注释)所做的更改是:
- 从标签映射文件中解析标签,而不是对其进行硬编码。
- 从解析的标签映射而不是硬编码中得出 类 的数量。
- 使用来自 google 驱动器的自定义数据集(标有
labelImg
)。 - 修正关于 类 数量的其他硬编码假设。
我猜我只是错过了其他硬编码的东西,但我无法发现它...非常感谢任何帮助!
我得到了 answer on Reddit。我只是错过了 model.predict()
的电话……我一定是笨手笨脚的。 /facepalm