tensorflow cifar-10 evaluation example softmax outputs
<p>I want to view the probabilities of each test image, so I modified the code(cifar10_eval.py) like this</p>

<pre><code>def eval_once(saver, summary_writer, logits, labels, top_k_op, summary_op):
...............
      while step &lt; num_iter and not coord.should_stop():
        result1, result2  = sess.run([logits, labels])
        print('Step:', step, 'result',result1, 'Label:', result2)
...............
</code></pre>

<p>and I run the python code like this.</p>

<pre><code># python cifar10_eval.py --batch_size=1 --run_once=True
</code></pre>

<p>The screen results are like this</p>

<pre><code>Step: 0 result [[ 0.01539493 -0.00109618 -0.00364288 -0.00898853 -0.00086198  0.00587899  0.00981337 -0.00785329 -0.00282823 -0.00171288]] Label: [4]
Step: 1 result [[ 0.01539471 -0.00109601 -0.00364273 -0.00898863 -0.00086192  0.005879  0.00981339 -0.00785322 -0.00282811 -0.00171296]] Label: [7]
Step: 2 result [[ 0.01539475 -0.00109617 -0.00364274 -0.00898876 -0.00086183  0.00587886  0.00981328 -0.00785333 -0.00282814 -0.00171295]] Label: [8]
Step: 3 result [[ 0.01539472 -0.00109597 -0.00364275 -0.0089886  -0.00086183  0.00587902  0.00981344 -0.00785326 -0.00282817 -0.00171299]] Label: [4]
Step: 4 result [[ 0.01539488 -0.00109631 -0.00364294 -0.00898863 -0.00086199  0.00587896  0.00981327 -0.00785329 -0.00282809 -0.00171307]] Label: [0]
Step: 5 result [[ 0.01539478 -0.00109607 -0.00364292 -0.00898858 -0.00086194  0.00587904  0.00981335 -0.0078533  -0.00282818 -0.00171321]] Label: [4]
Step: 6 result [[ 0.01539493 -0.00109627 -0.00364277 -0.00898873 -0.0008618   0.00587892  0.00981339 -0.00785325 -0.00282807 -0.00171289]] Label: [9]
Step: 7 result [[ 0.01539504 -0.00109619 -0.0036429  -0.00898865 -0.00086194  0.00587894  0.0098133  -0.00785331 -0.00282818 -0.00171294]] Label: [4]
Step: 8 result [[ 0.01539493 -0.00109627 -0.00364286 -0.00898867 -0.00086183  0.00587899  0.00981332 -0.00785329 -0.00282825 -0.00171283]] Label: [8]
Step: 9 result [[ 0.01539495 -0.00109617 -0.00364286 -0.00898852 -0.00086186  0.0058789  0.00981337 -0.00785326 -0.00282827 -0.00171287]] Label: [9]
</code></pre>

<p>The Label values seem to be good, but the logits outputs seem to be same values!
Why?
Anyone can tell me the reason?</p>

<p>This is new cifar10_eval.py source code.</p>

<pre><code>from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from datetime import datetime
import math
import time

import numpy as np
import tensorflow as tf

#from tensorflow.models.image.cifar10 import cifar10
import cifar10

FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string('eval_dir', '/tmp/cifar10_eval',
                           """Directory where to write event logs.""")
tf.app.flags.DEFINE_string('eval_data', 'test',
                           """Either 'test' or 'train_eval'.""")
tf.app.flags.DEFINE_string('checkpoint_dir', '/tmp/cifar10_train',
                           """Directory where to read model checkpoints.""")
tf.app.flags.DEFINE_integer('eval_interval_secs', 60 * 5,
                            """How often to run the eval.""")
tf.app.flags.DEFINE_integer('num_examples', 10000,
                            """Number of examples to run.""")
tf.app.flags.DEFINE_boolean('run_once', True,
                         """Whether to run eval only once.""")

def eval_once(saver, summary_writer, logits, labels, top_k_op, summary_op):
  with tf.Session() as sess:
    ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir)
    if ckpt and ckpt.model_checkpoint_path:
      saver.restore(sess, ckpt.model_checkpoint_path)
      global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
    else:
      print('No checkpoint file found')
      return

    # Start the queue runners.
    coord = tf.train.Coordinator()
    try:
      threads = []
      for qr in tf.get_collection(tf.GraphKeys.QUEUE_RUNNERS):
        threads.extend(qr.create_threads(sess, coord=coord, daemon=True,
                                         start=True))

      #num_iter = int(math.ceil(FLAGS.num_examples / FLAGS.batch_size))
      #total_sample_count = num_iter * FLAGS.batch_size
      num_iter = FLAGS.num_examples
      total_sample_count =  FLAGS.num_examples
      print (num_iter, FLAGS.batch_size, total_sample_count)
      true_count = 0  # Counts the number of correct predictions.
      step = 0
      time.sleep(1)
      while step &lt; num_iter and not coord.should_stop():
        result1, result2  = sess.run([logits, labels])
        #label = sess.run(labels)
        print('Step:', step, 'result',result1, 'Label:', result2)
        step += 1
      precision = true_count / step

      print('Summary -- Step:', step, 'Accurcy:',true_count * 100.0 / step * 1.0, )
      print('%s: total:%d true:%d precision @ 1 = %.3f' % (datetime.now(), total_sample_count, true_count, precision))

    except Exception as e:  # pylint: disable=broad-except
      coord.request_stop(e)

    coord.request_stop()
    coord.join(threads, stop_grace_period_secs=10)


def evaluate():
  """Eval CIFAR-10 for a number of steps."""
  with tf.Graph().as_default():
    # Get images and labels for CIFAR-10.
    eval_data = FLAGS.eval_data == 'test'
    images, labels = cifar10.inputs(eval_data=eval_data, )

    # Build a Graph that computes the logits predictions from the
    # inference model. logits is softmax
    logits = cifar10.inference(images)

    # Calculate predictions.
    top_k_op = tf.nn.in_top_k(logits, labels, 1)

    # Restore the moving average version of the learned variables for eval.
    variable_averages = tf.train.ExponentialMovingAverage(
        cifar10.MOVING_AVERAGE_DECAY)
    variables_to_restore = variable_averages.variables_to_restore()
    saver = tf.train.Saver(variables_to_restore)

    # Build the summary operation based on the TF collection of Summaries.
    summary_op = tf.merge_all_summaries()

    graph_def = tf.get_default_graph().as_graph_def()
    summary_writer = tf.train.SummaryWriter(FLAGS.eval_dir,
                                            graph_def=graph_def)

    while True:
      eval_once(saver, summary_writer, logits, labels,top_k_op, summary_op)
      if FLAGS.run_once:
        break
      time.sleep(FLAGS.eval_interval_secs)


def main(argv=None):  # pylint: disable=unused-argument
  cifar10.maybe_download_and_extract()
  if tf.gfile.Exists(FLAGS.eval_dir):
    tf.gfile.DeleteRecursively(FLAGS.eval_dir)
  tf.gfile.MakeDirs(FLAGS.eval_dir)
  print('Evaluate Start')
  evaluate()


if __name__ == '__main__':
  tf.app.run()
</code></pre>