[英]How do I use a tensorflow loss function with a keras model?
我正在使用 Tensorflow 1.14,并且我使用 Keras 设计了 model。 我想在编译tf.nn.sparse_softmax_cross_entropy_with_logits
时使用 tf.nn.sparse_softmax_cross_entropy_with_logits,但在 Z7FEE7BB66F42794C3E3278EFFCD8CZ 中看不到任何等效损失 function 有什么办法可以将它与我的 model 一起使用?
我当前要编译的代码:
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
感谢您的任何帮助。
您可以使用tf.losses.sparse_categorical_crossentropy
并将from_logits
设置为True
并将其包装在 function
import tensorflow as tf
def my_tf_loss_fn(y_true, y_pred):
return tf.losses.sparse_categorical_crossentropy(y_true, y_pred, from_logits=True)
model = tf.keras.applications.ResNet50()
model.compile(loss=my_tf_loss_fn, optimizer='adam')
但是如果你坚持使用tf.nn.sparse_softmax_cross_entropy_with_logits
我想不出一个干净的方法来做到这一点,但这有效
import tensorflow as tf
def my_tf_loss_fn(y_true, y_pred):
return tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y_true, logits=y_pred)
model = tf.keras.applications.ResNet50()
dummy_tensor = tf.placeholder(dtype=tf.int32, shape=[None])
model.compile(loss=my_tf_loss_fn, optimizer='adam', target_tensors=dummy_tensor)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.