pikaliov

loss_func

Apr 9th, 2020
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.56 KB | None | 0 0
  1. def func_loss(tar, logits):
  2.     loss_object = tf.keras.losses.CategoricalCrossentropy(from_logits=True, reduction='none')
  3.     mask = tf.math.logical_not(tf.math.equal(tar, 0))
  4.     one_hot_labels = tf.one_hot(tar, depth=tok_bpe_obj.voc_size_punct)
  5.     class_weights = tf.constant(tf.range(1.0, tok_bpe_obj.voc_size_punct+1))
  6.     weights = tf.reduce_sum(class_weights * one_hot_labels, axis=-1)
  7.     loss = loss_object(one_hot_labels, logits)
  8.     mask = tf.cast(mask, dtype=loss.dtype)
  9.     loss = loss * weights * mask
  10.     loss = tf.reduce_mean(loss)
  11.     return loss
Advertisement
Add Comment
Please, Sign In to add comment