code: def one_hot_class_label_loss(top_out,
                               targets,
                               model_hparams,
                               vocab_size,
                               weights_fn):
    
    del model_hparams, vocab_size  # unused arg
    loss_scale = tf.losses.softmax_cross_entropy(
        onehot_labels=targets, logits=top_out)
    weights = weights_fn(targets)
    loss_denom = tf.reduce_sum(weights)
    return loss_scale, loss_denom
docs: Apply softmax cross-entropy between outputs and targets.
  
    Args:
      top_out: logits Tensor with shape [batch, ?, ?, num_classes]
      targets: one-hot encoding Tensor with shape [batch, ?, ?, num_classes]
      model_hparams: HParams, model hyperparmeters.
      vocab_size: int, vocabulary size.
      weights_fn:
  
    Returns:
      loss_scale (cross-entropy), loss_denom