传递给model.compile()的损失函数的缩写?

问题描述

Here 描述了不同的损失函数,但可以使用缩写代替导入和传递实际损失对象(参见示例 here

MeanSquaredError 可以作为字符串 mse 传递,MeanAbsoluteError 作为 mae 传递。有些是显而易见的,但其他损失如 CategoricalCrossentropyCosinesimilarityHinge 呢?

解决方法

这里是一些损失函数和它们的字符串别名(它们都可以从tf.keras.losses导入):

类名 字符串别名
MeanSquaredError() mean_squared_errormseMSE
MeanAbsoluteError() mean_absolute_errormaeMAE
MeanAbsolutePercentageError() mean_absolute_percentage_errormapeMAPE
MeanSquaredLogarithmicError() mean_squared_logarithmic_errormsleMSLE
KLDivergence() kl_divergencekullback_leibler_divergencekldKLD
铰链() hinge
余弦相似度() cosine_similarity
LogCosh() log_cosh,logcosh
CategoricalCrossentropy() categorical_crossentropy
SparseCategoricalCrossentropy() sparse_categorical_crossentropy
二进制交叉熵() binary_crossentropy

如您所见,其中一些有多个字符串别名,而大多数只有一个别名。

参考:Source code of keras.losses