【发布时间】:2019-01-07 13:34:52
【问题描述】:
当我训练了一个模型并将参数保存为 hdf5 文件,然后我尝试在test_dataset 上评估模型的性能,但如果我设置了model.compile 的param metrics 有问题metrics 为
model.compile(optimizer=adam,
loss=losses.sparse_categorical_crossentropy,
metrics=[cus_acc, miou])
会出现如下错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError: assertion failed: [`labels` out of bound] [Condition x < y did not hold element-wise:] [x (metrics/cus_acc/confusion_matrix/control_dependency:0) = ] [107 118 135...] [y (metrics/cus_acc/confusion_matrix/Cast_2:0) = ] [2] [[Node: metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert = Assert[T=[DT_STRING, DT_STRING, DT_STRING, DT_INT64, DT_STRING, DT_INT64], summarize=3, _device="/job:localhost/replica:0/task:0/device:CPU:0"](metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/Switch/_3827, metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/data_0, metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/data_1, metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/data_2, metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/Switch_1/_3829, metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/data_4, metrics/cus_acc/confusion_matrix/assert_less/Assert/AssertGuard/Assert/Switch_2/_3831)]]
注意优化器 adam 已定义,cus_acc 和 miou 是自定义指标。如果删除它起作用的指标,那么我认为它一定有问题,miou 和cus_acc 都是由confusion_matrix 计算的。
我的问题 是什么使得出现错误以及如何在keras中使用evaluate_generator评估模型性能,如果能提供最好的示例代码~
任何帮助,将不胜感激。提前致谢。 :D
【问题讨论】:
标签: python-3.x keras deep-learning