所有样品权重的Keras模型损失均保持不变

时间:2018-10-17 20:59:46

标签: python tensorflow keras

我有一个使用功能API定义的模型。

要训练模型,我使用fit_generator(),并通过Sequence作为生成器。

我的Sequence扩展了tf.keras.utils.Sequence()返回了3个数组:

return X, y, sample_weights

在一个元组中,其中y, sample_weights是一维数组。

现在这足以开始拟合模型,但是由于某些原因,权重未正确应用。即使将权重乘以x1000,损失也不会改变。

fit_generator()不使用样本权重吗?在任何情况下,为什么总是预测少数派?这太奇怪了。

似乎出于某种原因,我的模型总是预测少数派。在100个数据点中,只有4个为肯定类,而我的recall = 1来自tf.metrics.recall。为了测试它,我尝试将类别1的样本权重设置为0,并且它仍然具有召回率= 1,这是无稽之谈。

编辑: 当我尝试在fit_generator中指定class_weight时,我得到的消息是它将被忽略,因为我也传递了权重。但是权重对损失函数(二进制交叉熵)的影响为0

0 个答案:

没有答案