In [1]:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import numpy as np
import tensorflow as tf

tf.logging.set_verbosity(tf.logging.INFO)

In [2]:
def cnn_model_fn(features, labels, mode):
    """Model function for CNN"""
    
    input_layer = tf.reshape(features['x'], [-1, 28, 28, 1])
    
    conv1 = tf.layers.conv2d(
        inputs=input_layer,
        filters=32,
        kernel_size=[5, 5],
        padding="same",
        activation=tf.nn.relu
    )
    pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[2, 2], strides=2)
    
    conv2 = tf.layers.conv2d(
        inputs=pool1,
        filters=64,
        kernel_size=[5, 5],
        padding="same",
        activation=tf.nn.relu
    )
    pool2 = tf.layers.max_pooling2d(inputs=conv2, pool_size=[2, 2], strides=2)

    pool2_flat = tf.reshape(pool2, [-1, 7 * 7 * 64])
    dense = tf.layers.dense(inputs=pool2_flat,
                           units=2014,
                           activation=tf.nn.relu)
    
    dropout = tf.layers.dropout(
        inputs=dense, rate=0.4, training=mode == tf.estimator.ModeKeys.TRAIN
    )
    
    logits = tf.layers.dense(inputs=dropout, units=10)
    
    predictions = {
        "classes": tf.argmax(input=logits, axis=1),
        "probabilities": tf.nn.softmax(logits, name="softmax_tensor"),
    }
    
    if mode == tf.estimator.ModeKeys.PREDICT:
        return tf.estimator.EstimatorSpec(mode=mode, predictions=predictions)
    
    onehot_labels = tf.one_hot(indices=tf.cast(labels, tf.int32), depth=10)
    loss = tf.losses.softmax_cross_entropy(
        onehot_labels=onehot_labels, logits=logits
    )
    
    if mode == tf.estimator.ModeKeys.TRAIN:
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001)
        train_op = optimizer.minimize(
            loss=loss,
            global_step=tf.train.get_global_step()
        )
        return tf.estimator.EstimatorSpec(mode=mode, loss=loss, train_op=train_op)
    
    eval_metric_ops = {
        "accuracy": tf.metrics.accuracy(
        labels=labels, predictions=predictions["classes"])
    }
    return tf.estimator.EstimatorSpec(mode=mode, loss=loss, eval_metric_ops=eval_metric_ops)

In [3]:
mnist = tf.contrib.learn.datasets.load_dataset("mnist")
train_data = mnist.train.images
train_labels = np.asarray(mnist.train.labels, dtype=np.int32)
eval_data = mnist.test.images
eval_labels = np.asarray(mnist.test.labels, dtype=np.int32)


Extracting MNIST-data\train-images-idx3-ubyte.gz
Extracting MNIST-data\train-labels-idx1-ubyte.gz
Extracting MNIST-data\t10k-images-idx3-ubyte.gz
Extracting MNIST-data\t10k-labels-idx1-ubyte.gz

In [4]:
print(train_data.shape)
print(train_labels.shape)


(55000, 784)
(55000,)

In [5]:
mnist_classifier = tf.estimator.Estimator(model_fn=cnn_model_fn, model_dir="E:\\temp")


INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_log_step_count_steps': 100, '_service': None, '_tf_random_seed': None, '_num_ps_replicas': 0, '_save_checkpoints_secs': 600, '_num_worker_replicas': 1, '_task_type': 'worker', '_save_checkpoints_steps': None, '_model_dir': 'E:\\temp', '_task_id': 0, '_save_summary_steps': 100, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x0000023CD46774E0>, '_session_config': None, '_is_chief': True, '_keep_checkpoint_max': 5, '_master': '', '_keep_checkpoint_every_n_hours': 10000}

In [6]:
tensors_to_log = {"probabilities": "softmax_tensor"}
logging_hook = tf.train.LoggingTensorHook(tensors=tensors_to_log, every_n_iter=50)

In [7]:
train_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={"x": train_data},
    y=train_labels,
    batch_size=100,
    num_epochs=None,
    shuffle=True
)

mnist_classifier.train(
    input_fn=train_input_fn,
    steps=20000,
    #hooks=[logging_hook]
)


INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Saving checkpoints for 1 into E:\temp\model.ckpt.
INFO:tensorflow:loss = 2.30733, step = 1
INFO:tensorflow:global_step/sec: 118.728
INFO:tensorflow:loss = 2.29815, step = 101 (0.842 sec)
INFO:tensorflow:global_step/sec: 130.705
INFO:tensorflow:loss = 2.27955, step = 201 (0.766 sec)
INFO:tensorflow:global_step/sec: 129.183
INFO:tensorflow:loss = 2.27678, step = 301 (0.773 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 2.27106, step = 401 (0.768 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 2.2544, step = 501 (0.771 sec)
INFO:tensorflow:global_step/sec: 128.855
INFO:tensorflow:loss = 2.23111, step = 601 (0.775 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 2.21025, step = 701 (0.766 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 2.18121, step = 801 (0.766 sec)
INFO:tensorflow:global_step/sec: 129.856
INFO:tensorflow:loss = 2.1725, step = 901 (0.770 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 2.12552, step = 1001 (0.766 sec)
INFO:tensorflow:global_step/sec: 132.098
INFO:tensorflow:loss = 2.09297, step = 1101 (0.757 sec)
INFO:tensorflow:global_step/sec: 132.618
INFO:tensorflow:loss = 2.02322, step = 1201 (0.754 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 1.90162, step = 1301 (0.769 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 1.83209, step = 1401 (0.768 sec)
INFO:tensorflow:global_step/sec: 131.575
INFO:tensorflow:loss = 1.63184, step = 1501 (0.761 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 1.49415, step = 1601 (0.771 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 1.2805, step = 1701 (0.764 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 1.18233, step = 1801 (0.766 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.94819, step = 1901 (0.769 sec)
INFO:tensorflow:global_step/sec: 132.274
INFO:tensorflow:loss = 0.933177, step = 2001 (0.756 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.869371, step = 2101 (0.769 sec)
INFO:tensorflow:global_step/sec: 131.923
INFO:tensorflow:loss = 0.818415, step = 2201 (0.756 sec)
INFO:tensorflow:global_step/sec: 130.885
INFO:tensorflow:loss = 0.702113, step = 2301 (0.764 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.644988, step = 2401 (0.768 sec)
INFO:tensorflow:global_step/sec: 131.227
INFO:tensorflow:loss = 0.546098, step = 2501 (0.762 sec)
INFO:tensorflow:global_step/sec: 129.359
INFO:tensorflow:loss = 0.561175, step = 2601 (0.773 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.695848, step = 2701 (0.771 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 0.527174, step = 2801 (0.766 sec)
INFO:tensorflow:global_step/sec: 131.053
INFO:tensorflow:loss = 0.477605, step = 2901 (0.764 sec)
INFO:tensorflow:global_step/sec: 128.688
INFO:tensorflow:loss = 0.501049, step = 3001 (0.776 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.551732, step = 3101 (0.771 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.575078, step = 3201 (0.779 sec)
INFO:tensorflow:global_step/sec: 131.229
INFO:tensorflow:loss = 0.476272, step = 3301 (0.762 sec)
INFO:tensorflow:global_step/sec: 131.749
INFO:tensorflow:loss = 0.390327, step = 3401 (0.759 sec)
INFO:tensorflow:global_step/sec: 130.701
INFO:tensorflow:loss = 0.323886, step = 3501 (0.766 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.425147, step = 3601 (0.760 sec)
INFO:tensorflow:global_step/sec: 128.855
INFO:tensorflow:loss = 0.313337, step = 3701 (0.777 sec)
INFO:tensorflow:global_step/sec: 129.18
INFO:tensorflow:loss = 0.299761, step = 3801 (0.773 sec)
INFO:tensorflow:global_step/sec: 130.374
INFO:tensorflow:loss = 0.538451, step = 3901 (0.767 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.44146, step = 4001 (0.768 sec)
INFO:tensorflow:global_step/sec: 128.855
INFO:tensorflow:loss = 0.24613, step = 4101 (0.776 sec)
INFO:tensorflow:global_step/sec: 129.189
INFO:tensorflow:loss = 0.534449, step = 4201 (0.776 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 0.335824, step = 4301 (0.768 sec)
INFO:tensorflow:global_step/sec: 132.098
INFO:tensorflow:loss = 0.401226, step = 4401 (0.757 sec)
INFO:tensorflow:global_step/sec: 129.69
INFO:tensorflow:loss = 0.322165, step = 4501 (0.771 sec)
INFO:tensorflow:global_step/sec: 130.2
INFO:tensorflow:loss = 0.35743, step = 4601 (0.769 sec)
INFO:tensorflow:global_step/sec: 131.229
INFO:tensorflow:loss = 0.260218, step = 4701 (0.761 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.286768, step = 4801 (0.773 sec)
INFO:tensorflow:global_step/sec: 129.356
INFO:tensorflow:loss = 0.382276, step = 4901 (0.773 sec)
INFO:tensorflow:global_step/sec: 128.856
INFO:tensorflow:loss = 0.319134, step = 5001 (0.776 sec)
INFO:tensorflow:global_step/sec: 129.525
INFO:tensorflow:loss = 0.300631, step = 5101 (0.770 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.191591, step = 5201 (0.779 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.444213, step = 5301 (0.770 sec)
INFO:tensorflow:global_step/sec: 128.855
INFO:tensorflow:loss = 0.548311, step = 5401 (0.774 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.267706, step = 5501 (0.774 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.383341, step = 5601 (0.766 sec)
INFO:tensorflow:global_step/sec: 128.689
INFO:tensorflow:loss = 0.23731, step = 5701 (0.778 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.215567, step = 5801 (0.774 sec)
INFO:tensorflow:global_step/sec: 129.523
INFO:tensorflow:loss = 0.355466, step = 5901 (0.774 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.350667, step = 6001 (0.767 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.337481, step = 6101 (0.768 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.418867, step = 6201 (0.766 sec)
INFO:tensorflow:global_step/sec: 129.852
INFO:tensorflow:loss = 0.198435, step = 6301 (0.772 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.516872, step = 6401 (0.766 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 0.267132, step = 6501 (0.765 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 0.336403, step = 6601 (0.771 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.24281, step = 6701 (0.766 sec)
INFO:tensorflow:global_step/sec: 132.273
INFO:tensorflow:loss = 0.252547, step = 6801 (0.756 sec)
INFO:tensorflow:global_step/sec: 130.861
INFO:tensorflow:loss = 0.251169, step = 6901 (0.767 sec)
INFO:tensorflow:global_step/sec: 128.527
INFO:tensorflow:loss = 0.293899, step = 7001 (0.776 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 0.175071, step = 7101 (0.770 sec)
INFO:tensorflow:global_step/sec: 131.396
INFO:tensorflow:loss = 0.326382, step = 7201 (0.761 sec)
INFO:tensorflow:global_step/sec: 131.228
INFO:tensorflow:loss = 0.260542, step = 7301 (0.763 sec)
INFO:tensorflow:global_step/sec: 129.515
INFO:tensorflow:loss = 0.0830578, step = 7401 (0.771 sec)
INFO:tensorflow:global_step/sec: 130.367
INFO:tensorflow:loss = 0.42195, step = 7501 (0.766 sec)
INFO:tensorflow:global_step/sec: 128.523
INFO:tensorflow:loss = 0.211566, step = 7601 (0.779 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.363919, step = 7701 (0.774 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 0.313435, step = 7801 (0.766 sec)
INFO:tensorflow:global_step/sec: 129.709
INFO:tensorflow:loss = 0.179213, step = 7901 (0.771 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.235241, step = 8001 (0.775 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.19469, step = 8101 (0.769 sec)
INFO:tensorflow:global_step/sec: 130.885
INFO:tensorflow:loss = 0.195162, step = 8201 (0.765 sec)
INFO:tensorflow:global_step/sec: 131.056
INFO:tensorflow:loss = 0.19921, step = 8301 (0.762 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.212588, step = 8401 (0.761 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 0.1724, step = 8501 (0.766 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.237961, step = 8601 (0.762 sec)
INFO:tensorflow:global_step/sec: 129.525
INFO:tensorflow:loss = 0.22733, step = 8701 (0.772 sec)
INFO:tensorflow:global_step/sec: 131.575
INFO:tensorflow:loss = 0.213552, step = 8801 (0.760 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.21458, step = 8901 (0.778 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.141661, step = 9001 (0.767 sec)
INFO:tensorflow:global_step/sec: 130.859
INFO:tensorflow:loss = 0.181952, step = 9101 (0.764 sec)
INFO:tensorflow:global_step/sec: 130.2
INFO:tensorflow:loss = 0.170217, step = 9201 (0.768 sec)
INFO:tensorflow:global_step/sec: 129.357
INFO:tensorflow:loss = 0.185642, step = 9301 (0.775 sec)
INFO:tensorflow:global_step/sec: 130.885
INFO:tensorflow:loss = 0.1611, step = 9401 (0.762 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.286858, step = 9501 (0.767 sec)
INFO:tensorflow:global_step/sec: 131.056
INFO:tensorflow:loss = 0.0985729, step = 9601 (0.763 sec)
INFO:tensorflow:global_step/sec: 131.575
INFO:tensorflow:loss = 0.312782, step = 9701 (0.760 sec)
INFO:tensorflow:global_step/sec: 131.749
INFO:tensorflow:loss = 0.113063, step = 9801 (0.759 sec)
INFO:tensorflow:global_step/sec: 131.057
INFO:tensorflow:loss = 0.16938, step = 9901 (0.765 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.255614, step = 10001 (0.767 sec)
INFO:tensorflow:global_step/sec: 131.575
INFO:tensorflow:loss = 0.258284, step = 10101 (0.761 sec)
INFO:tensorflow:global_step/sec: 129.356
INFO:tensorflow:loss = 0.252028, step = 10201 (0.774 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 0.176587, step = 10301 (0.765 sec)
INFO:tensorflow:global_step/sec: 131.057
INFO:tensorflow:loss = 0.180436, step = 10401 (0.764 sec)
INFO:tensorflow:global_step/sec: 132.092
INFO:tensorflow:loss = 0.190354, step = 10501 (0.757 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.204347, step = 10601 (0.768 sec)
INFO:tensorflow:global_step/sec: 131.051
INFO:tensorflow:loss = 0.268618, step = 10701 (0.764 sec)
INFO:tensorflow:global_step/sec: 131.749
INFO:tensorflow:loss = 0.172736, step = 10801 (0.757 sec)
INFO:tensorflow:global_step/sec: 130.372
INFO:tensorflow:loss = 0.349296, step = 10901 (0.767 sec)
INFO:tensorflow:global_step/sec: 132.802
INFO:tensorflow:loss = 0.151806, step = 11001 (0.753 sec)
INFO:tensorflow:global_step/sec: 128.853
INFO:tensorflow:loss = 0.228142, step = 11101 (0.777 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 0.138457, step = 11201 (0.764 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.166521, step = 11301 (0.762 sec)
INFO:tensorflow:global_step/sec: 130.535
INFO:tensorflow:loss = 0.12801, step = 11401 (0.765 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.275011, step = 11501 (0.769 sec)
INFO:tensorflow:global_step/sec: 131.057
INFO:tensorflow:loss = 0.15904, step = 11601 (0.761 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.242912, step = 11701 (0.767 sec)
INFO:tensorflow:global_step/sec: 130.885
INFO:tensorflow:loss = 0.254439, step = 11801 (0.765 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.18404, step = 11901 (0.768 sec)
INFO:tensorflow:global_step/sec: 132.802
INFO:tensorflow:loss = 0.0878157, step = 12001 (0.755 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 0.121074, step = 12101 (0.768 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.17714, step = 12201 (0.767 sec)
INFO:tensorflow:global_step/sec: 128.512
INFO:tensorflow:loss = 0.226272, step = 12301 (0.778 sec)
INFO:tensorflow:global_step/sec: 128.028
INFO:tensorflow:loss = 0.211484, step = 12401 (0.781 sec)
INFO:tensorflow:global_step/sec: 127.537
INFO:tensorflow:loss = 0.265029, step = 12501 (0.784 sec)
INFO:tensorflow:global_step/sec: 128.523
INFO:tensorflow:loss = 0.172804, step = 12601 (0.778 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.115355, step = 12701 (0.775 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.185486, step = 12801 (0.768 sec)
INFO:tensorflow:global_step/sec: 130.012
INFO:tensorflow:loss = 0.0854251, step = 12901 (0.771 sec)
INFO:tensorflow:global_step/sec: 131.042
INFO:tensorflow:loss = 0.16088, step = 13001 (0.761 sec)
INFO:tensorflow:global_step/sec: 130.032
INFO:tensorflow:loss = 0.122872, step = 13101 (0.770 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.208128, step = 13201 (0.760 sec)
INFO:tensorflow:global_step/sec: 131.057
INFO:tensorflow:loss = 0.0968145, step = 13301 (0.764 sec)
INFO:tensorflow:global_step/sec: 128.523
INFO:tensorflow:loss = 0.185217, step = 13401 (0.777 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 0.0594286, step = 13501 (0.767 sec)
INFO:tensorflow:global_step/sec: 131.229
INFO:tensorflow:loss = 0.223507, step = 13601 (0.761 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 0.195574, step = 13701 (0.766 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.261864, step = 13801 (0.760 sec)
INFO:tensorflow:global_step/sec: 129.862
INFO:tensorflow:loss = 0.169395, step = 13901 (0.771 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.0766428, step = 14001 (0.769 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.311581, step = 14101 (0.765 sec)
INFO:tensorflow:global_step/sec: 133.157
INFO:tensorflow:loss = 0.234122, step = 14201 (0.751 sec)
INFO:tensorflow:global_step/sec: 129.189
INFO:tensorflow:loss = 0.236737, step = 14301 (0.774 sec)
INFO:tensorflow:global_step/sec: 131.056
INFO:tensorflow:loss = 0.206485, step = 14401 (0.763 sec)
INFO:tensorflow:global_step/sec: 128.523
INFO:tensorflow:loss = 0.0601851, step = 14501 (0.778 sec)
INFO:tensorflow:global_step/sec: 130.032
INFO:tensorflow:loss = 0.184387, step = 14601 (0.771 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.172037, step = 14701 (0.773 sec)
INFO:tensorflow:global_step/sec: 129.166
INFO:tensorflow:loss = 0.136824, step = 14801 (0.774 sec)
INFO:tensorflow:global_step/sec: 131.749
INFO:tensorflow:loss = 0.194125, step = 14901 (0.759 sec)
INFO:tensorflow:global_step/sec: 131.402
INFO:tensorflow:loss = 0.213537, step = 15001 (0.761 sec)
INFO:tensorflow:global_step/sec: 130.201
INFO:tensorflow:loss = 0.0806133, step = 15101 (0.769 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.192914, step = 15201 (0.800 sec)
INFO:tensorflow:global_step/sec: 124.512
INFO:tensorflow:loss = 0.0779023, step = 15301 (0.774 sec)
INFO:tensorflow:global_step/sec: 128.689
INFO:tensorflow:loss = 0.165544, step = 15401 (0.776 sec)
INFO:tensorflow:global_step/sec: 131.924
INFO:tensorflow:loss = 0.302527, step = 15501 (0.758 sec)
INFO:tensorflow:global_step/sec: 131.229
INFO:tensorflow:loss = 0.092927, step = 15601 (0.762 sec)
INFO:tensorflow:global_step/sec: 130.713
INFO:tensorflow:loss = 0.131593, step = 15701 (0.767 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.0817395, step = 15801 (0.769 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.304528, step = 15901 (0.775 sec)
INFO:tensorflow:global_step/sec: 130.885
INFO:tensorflow:loss = 0.0710069, step = 16001 (0.764 sec)
INFO:tensorflow:global_step/sec: 129.189
INFO:tensorflow:loss = 0.261713, step = 16101 (0.774 sec)
INFO:tensorflow:global_step/sec: 127.044
INFO:tensorflow:loss = 0.184368, step = 16201 (0.787 sec)
INFO:tensorflow:global_step/sec: 130.371
INFO:tensorflow:loss = 0.0805003, step = 16301 (0.768 sec)
INFO:tensorflow:global_step/sec: 129.357
INFO:tensorflow:loss = 0.156511, step = 16401 (0.774 sec)
INFO:tensorflow:global_step/sec: 131.749
INFO:tensorflow:loss = 0.125234, step = 16501 (0.758 sec)
INFO:tensorflow:global_step/sec: 128.841
INFO:tensorflow:loss = 0.120592, step = 16601 (0.775 sec)
INFO:tensorflow:global_step/sec: 128.193
INFO:tensorflow:loss = 0.131907, step = 16701 (0.782 sec)
INFO:tensorflow:global_step/sec: 131.229
INFO:tensorflow:loss = 0.109103, step = 16801 (0.760 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.195043, step = 16901 (0.781 sec)
INFO:tensorflow:global_step/sec: 129.357
INFO:tensorflow:loss = 0.116751, step = 17001 (0.773 sec)
INFO:tensorflow:global_step/sec: 129.492
INFO:tensorflow:loss = 0.107641, step = 17101 (0.770 sec)
INFO:tensorflow:global_step/sec: 128.689
INFO:tensorflow:loss = 0.0670252, step = 17201 (0.778 sec)
INFO:tensorflow:global_step/sec: 129.693
INFO:tensorflow:loss = 0.0441402, step = 17301 (0.771 sec)
INFO:tensorflow:global_step/sec: 131.229
INFO:tensorflow:loss = 0.142498, step = 17401 (0.762 sec)
INFO:tensorflow:global_step/sec: 129.357
INFO:tensorflow:loss = 0.0895851, step = 17501 (0.773 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.184601, step = 17601 (0.768 sec)
INFO:tensorflow:global_step/sec: 130.542
INFO:tensorflow:loss = 0.170468, step = 17701 (0.768 sec)
INFO:tensorflow:global_step/sec: 128.689
INFO:tensorflow:loss = 0.197618, step = 17801 (0.777 sec)
INFO:tensorflow:global_step/sec: 129.357
INFO:tensorflow:loss = 0.12613, step = 17901 (0.772 sec)
INFO:tensorflow:global_step/sec: 125.61
INFO:tensorflow:loss = 0.0499712, step = 18001 (0.795 sec)
INFO:tensorflow:global_step/sec: 130.031
INFO:tensorflow:loss = 0.174953, step = 18101 (0.769 sec)
INFO:tensorflow:global_step/sec: 129.519
INFO:tensorflow:loss = 0.147907, step = 18201 (0.773 sec)
INFO:tensorflow:global_step/sec: 128.689
INFO:tensorflow:loss = 0.12208, step = 18301 (0.777 sec)
INFO:tensorflow:global_step/sec: 129.518
INFO:tensorflow:loss = 0.226774, step = 18401 (0.773 sec)
INFO:tensorflow:global_step/sec: 127.373
INFO:tensorflow:loss = 0.178939, step = 18501 (0.784 sec)
INFO:tensorflow:global_step/sec: 128.856
INFO:tensorflow:loss = 0.16924, step = 18601 (0.775 sec)
INFO:tensorflow:global_step/sec: 127.864
INFO:tensorflow:loss = 0.0712538, step = 18701 (0.782 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.0599679, step = 18801 (0.780 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.101777, step = 18901 (0.778 sec)
INFO:tensorflow:global_step/sec: 128.358
INFO:tensorflow:loss = 0.190738, step = 19001 (0.780 sec)
INFO:tensorflow:global_step/sec: 126.086
INFO:tensorflow:loss = 0.0821261, step = 19101 (0.793 sec)
INFO:tensorflow:global_step/sec: 128.856
INFO:tensorflow:loss = 0.167306, step = 19201 (0.776 sec)
INFO:tensorflow:global_step/sec: 130.885
INFO:tensorflow:loss = 0.0958403, step = 19301 (0.764 sec)
INFO:tensorflow:global_step/sec: 130.536
INFO:tensorflow:loss = 0.132503, step = 19401 (0.767 sec)
INFO:tensorflow:global_step/sec: 128.683
INFO:tensorflow:loss = 0.208371, step = 19501 (0.775 sec)
INFO:tensorflow:global_step/sec: 128.523
INFO:tensorflow:loss = 0.191895, step = 19601 (0.778 sec)
INFO:tensorflow:global_step/sec: 128.855
INFO:tensorflow:loss = 0.148443, step = 19701 (0.777 sec)
INFO:tensorflow:global_step/sec: 129.022
INFO:tensorflow:loss = 0.102027, step = 19801 (0.775 sec)
INFO:tensorflow:global_step/sec: 129.357
INFO:tensorflow:loss = 0.188795, step = 19901 (0.772 sec)
INFO:tensorflow:Saving checkpoints for 20000 into E:\temp\model.ckpt.
INFO:tensorflow:Loss for final step: 0.0893188.
Out[7]:
<tensorflow.python.estimator.estimator.Estimator at 0x23cd4677240>

In [8]:
eval_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={"x": eval_data},
    y=eval_labels,
    num_epochs=1,
    shuffle=False)
eval_results = mnist_classifier.evaluate(input_fn=eval_input_fn)
print(eval_results)


INFO:tensorflow:Starting evaluation at 2018-01-14-04:28:18
INFO:tensorflow:Restoring parameters from E:\temp\model.ckpt-20000
INFO:tensorflow:Finished evaluation at 2018-01-14-04:28:18
INFO:tensorflow:Saving dict for global step 20000: accuracy = 0.9705, global_step = 20000, loss = 0.0989317
{'global_step': 20000, 'loss': 0.098931745, 'accuracy': 0.97049999}

In [ ]: