tf.keras.losses.SparseCategoricalCrossentropy()与“ sparse_categorical_crossentropy”之间的差异作为损失

问题描述 投票:0回答:1

我正在实现多类分类问题,

  1. 当我将损失用作tf.keras.losses.SparseCategoricalCrossentropy()时,我获得的准确度将大大降低
model.compile(optimizer="adam", loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=["accuracy"])
  1. 并且当我将损失用作“ sparse_categorical_crossentropy”时,我得到的准确度要高得多
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"]) 
  • 这与批量大小有关吗?
  • 如何使用自定义损失层获得与“ sparse_categorical_crossentropy”相同的结果?
python tensorflow machine-learning keras deep-learning
1个回答
1
投票

是因为使用时

loss=tf.keras.losses.SparseCategoricalCrossentropy() 

指标应

"sparse_categorical_accuracy" not "accuracy"
© www.soinside.com 2019 - 2024. All rights reserved.