我有一个tf数据集对象,
for i in dataset.take(1):
print([x.shape for x in i])
# Output
# [TensorShape([20,224,3]),TensorShape([20])]
当我使用以下数据集进行训练时
keras_model.fit(dataset,epochs=10)
我得到y_true
的形状为(20,1)
,而不是(20,)
。
# What I expect: (6,)
[1,1,2,3,3]
# What Keras gives: (6,1)
[[1],[1],[2],[3],[3]]
为什么Keras会自动使我的标量标签成为形状为1的张量,这等同于做tf.expand(y_true,-1)
?
我所有指标和损失函数都完全采用(20,)
,而不采用扩展的指标,那么是否有办法强制keras按原样使用?
游乐场here。