docs: def padded_accuracy_topk(logits, labels, k):
    """Percentage of times that top-k predictions matches labels on non-0s."""
    with tf.variable_scope("padded_accuracy_topk", values=[logits, labels]):
      logits, labels = _pad_tensors_to_same_length(logits, labels)
      weights = tf.to_float(tf.not_equal(labels, 0))
      effective_k = tf.minimum(k, tf.shape(logits)[-1])
      _, outputs = tf.nn.top_k(logits, k=effective_k)
      outputs = tf.to_int32(outputs)
      padded_labels = tf.to_int32(labels)
      padded_labels = tf.expand_dims(padded_labels, axis=-1)
      padded_labels += tf.zeros_like(outputs)  # Pad to same shape.
      same = tf.to_float(tf.equal(outputs, padded_labels))
      same_topk = tf.reduce_sum(same, axis=-1)
      return same_topk, weights