多分类:categorical_crossentropy和sparse_categorical_crossentropy计算softmax交叉熵
1.sparse_categorical_crossentropy
label数组中的数据全为0-9,表示十种分类。
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
model.add(tf.keras.layers.Dense(128, activation=‘relu’))
model.add(tf.keras.layers.Dense(10, activation=‘softmax’))
model.compile(optimizer=‘adam’,
loss = ‘sparse_categorical_crossentropy’,
metrics=[‘acc’])
2.categorical_crossentropy
当labe使用one-hot编码时,使用categorical_crossentropy。比如北京[1, 0, 0] 上海[0, 1, 0] 深圳[0, 0, 1]
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
model.add(tf.keras.layers.Dense(128, activation=‘relu’))
model.add(tf.keras.layers.Dense(10, activation=‘softmax’))
model.compile(optimizer=‘adam’,
loss = ‘categorical_crossentropy’,
metrics=[‘acc’])
3.from_logits
from_logits=False,output为经过softmax输出的概率值。 # from_logits=True,output为经过网络直接输出的 logits张量。
loss_object = tf.keras.losses.SparseCategoricalCrossentropy(
from_logits=False, reduction=‘none’)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)