Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def func_loss(tar, logits):
- loss_object = tf.keras.losses.CategoricalCrossentropy(from_logits=True, reduction='none')
- mask = tf.math.logical_not(tf.math.equal(tar, 0))
- one_hot_labels = tf.one_hot(tar, depth=tok_bpe_obj.voc_size_punct)
- class_weights = tf.constant(tf.range(1.0, tok_bpe_obj.voc_size_punct+1))
- weights = tf.reduce_sum(class_weights * one_hot_labels, axis=-1)
- loss = loss_object(one_hot_labels, logits)
- mask = tf.cast(mask, dtype=loss.dtype)
- loss = loss * weights * mask
- loss = tf.reduce_mean(loss)
- return loss
Advertisement
Add Comment
Please, Sign In to add comment