Tensorflow:断言失败:[`labels`超出范围]

Tensorflow:断言失败:[`labels`超出范围],tensorflow,label,Tensorflow,Label,运行测试脚本时出现“标签超出范围”错误。将注释值与类数进行比较时,混淆矩阵函数中会抛出错误。在我的例子中,注释值是一个图像(560x560),类的数量=2 [check_ops.assert_less(labels, num_classes_int64, message='`labels` out of bound')], labels 上述条件总是会失败,因为注释数据大于类的数量 首先,我很有可能误解了守则,但我无法理解它 其次,如果这是一个有效的检查,那么如何修改代码或数据以避免此错误 d

运行测试脚本时出现“标签超出范围”错误。将注释值与类数进行比较时,混淆矩阵函数中会抛出错误。在我的例子中,注释值是一个图像(560x560),类的数量=2

[check_ops.assert_less(labels, num_classes_int64, message='`labels` out of bound')], labels
上述条件总是会失败,因为注释数据大于类的数量

首先,我很有可能误解了守则,但我无法理解它

其次,如果这是一个有效的检查,那么如何修改代码或数据以避免此错误

def混淆矩阵(标签、预测、num\u类=None、dtype=dtypes.int32、,
名称=无,权重=无):
使用ops.name\u范围(名称“混淆矩阵”,
(预测、标签、num_类、权重))作为名称:
标签,预测=删除可压缩的尺寸(
运算。将_转换为_张量(标签,name='labels'),
运算。转换为张量(
预测,name='predictions'))
预测=数学运算.cast(预测,数据类型.int64)
labels=math_ops.cast(labels,dtypes.int64)
#健全性检查-下溢或溢出可能导致内存损坏。
标签=具有依赖关系的控制流操作(
[检查操作断言非负(
labels,message='`labels`包含负值')],
标签)
预测=具有依赖关系的控制流操作(
[检查操作断言非负(
预测,消息=“`predictions`包含负值”)],
(预测)
打印(num_类)
如果num_classes为None:
num_classes=math_ops.max(math_ops.reduce_max(预测),
数学运算减少最大值(标签))+1
#$
其他:
num\u classes\u int64=数学运算.cast(num\u classes,dtypes.int64)
---->>标签=具有依赖关系的控制流操作(
[检查操作。断言\u less(
labels,num_classes_int64,message=''labels'out-bound')],

标签)在注释文件中,标签为0,1,2255。标签的范围为3。因此,当在注释文件中检测到255时,就会抛出上述错误。在我删除了所有255个值后,代码运行正常,没有任何错误。

这里也有同样的问题

“labels”数组
Y\u true
的值为
0255
。我用过:

Y_true = Y_true/255
Y\u true
挤压到
0,1


这就消除了错误。

在tensorflow 1.15.2下,tensorflow/models/research/deeplab基本上还可以

错误消息如下:

无效参数:断言失败:[
labels
out-bound][Condition x 可能是因为没有将背景视为1类。e、 g.deeplab/数据集/数据发生器.py

# Number of semantic classes, including the
# background class (if exists). For example, there
# are 20 foreground classes + 1 background class in
# the PASCAL VOC 2012 dataset. Thus, we set
# num_classes=21.
这里也有同样的错误。
我的错误是因为我使用的是城市景观检查点
Cityscapes
的标签比我的数据多,因此当我将标签编号从2更改为19(这是Cityscapes的标签编号)时,
eval.py
运行良好。但是,
cityscapes
标签和自己的数据标签之间可能存在一些冲突。这需要进一步修改。

如果有人遇到此问题,并且无法通过重新缩放或调整频道来解决,我发现MeanIOU度量也会导致此问题。摆脱它,以损失作为衡量标准进行训练,或者定义另一个标准,对我来说很有效