问题描述
ValueError: Shape mismatch: The shape of labels (received (3,)) should equal the shape of logits except for the last dimension (received (1, 3)).
问题分析:输入与接受的不一致
查找问题:标签经过tf.one_hot进行处理。
在训练模型时,一般会将label使用one hot编码,然后模型的loss使用“sparse_categorical_crossentropy”
model.compile(optimizer=tf.keras.optimizers.Adam(1e-4),
loss='sparse_categorical_crossentropy',metrics=['accuracy'])
然后就报错了
解决办法:loss使用’categorical_crossentropy’
model.compile(optimizer=tf.keras.optimizers.Adam(1e-4),
loss='categorical_crossentropy',metrics=['accuracy'])
问题解决,loss函数调错,使用了没编码时的sparse_categorical_crossentrop,就会出现这种问题。