(predictions, targets, rej_char, streaming=False)
Computes character level accuracy.

  Both predictions and targets should have the same shape
  [batch_size x seq_length].

  Args:
    predictions: predicted characters ids.
    targets: ground truth character ids.
    rej_char: the character id used to mark an empty element (end of sequence).
    streaming: if True, uses the streaming mean from the slim.metric module.

  Returns:
    a update_ops for execution and value tensor whose value on evaluation
    returns the total character accuracy.
Computes character level accuracy.
Computes character level accuracy .
def char_accuracy(predictions, targets, rej_char, streaming=False):
  """Computes character level accuracy.

  Both predictions and targets should have the same shape
  [batch_size x seq_length].

  Args:
    predictions: predicted characters ids.
    targets: ground truth character ids.
    rej_char: the character id used to mark an empty element (end of sequence).
    streaming: if True, uses the streaming mean from the slim.metric module.

  Returns:
    a update_ops for execution and value tensor whose value on evaluation
    returns the total character accuracy.
  """
  with tf.variable_scope('CharAccuracy'):
    predictions.get_shape().assert_is_compatible_with(targets.get_shape())

    targets = tf.to_int32(targets)
    const_rej_char = tf.constant(rej_char, shape=targets.get_shape())
    weights = tf.to_float(tf.not_equal(targets, const_rej_char))
    correct_chars = tf.to_float(tf.equal(predictions, targets))
    accuracy_per_example = tf.div(
        tf.reduce_sum(tf.multiply(correct_chars, weights), 1),
        tf.reduce_sum(weights, 1))
    if streaming:
      return tf.contrib.metrics.streaming_mean(accuracy_per_example)
    else:
      return tf.reduce_mean(accuracy_per_example)
def char_accuracy ( predictions , targets , rej_char , streaming = False ) : with tf . variable_scope ( 'CharAccuracy' ) : predictions . get_shape ( ) . assert_is_compatible_with ( targets . get_shape ( ) ) targets = tf . to_int32 ( targets ) const_rej_char = tf . constant ( rej_char , shape = targets . get_shape ( ) ) weights = tf . to_float ( tf . not_equal ( targets , const_rej_char ) ) correct_chars = tf . to_float ( tf . equal ( predictions , targets ) ) accuracy_per_example = tf . div ( tf . reduce_sum ( tf . multiply ( correct_chars , weights ) , 1 ) , tf . reduce_sum ( weights , 1 ) ) if streaming : return tf . contrib . metrics . streaming_mean ( accuracy_per_example ) else : return tf . reduce_mean ( accuracy_per_example )