title: TensorFlow estimator number of classes does not change
body: <p>I tried using tensorflow estimator for the MNIST dataset. For some reason it keep saying my <code>n_classes</code> is set to 1 even though it is at 10!</p>
  
  <pre><code>import tensorflow as tf
  import numpy as np
  from tensorflow.examples.tutorials.mnist import input_data
  mnist = input_data.read_data_sets("MNIST_data/",one_hot=True)
  
  
  feature_columns = [tf.feature_column.numeric_column("x", shape=[784])]
  
  # Build 3 layer DNN with 10, 20, 10 units respectively.
  classifier = tf.estimator.DNNClassifier(feature_columns=feature_columns,
                                          hidden_units=[500, 500, 500],
                                          n_classes=10,
                                          model_dir="/tmp/MT")
  for i in range(100000):
      xdata, ydata = mnist.train.next_batch(500)
      train_input_fn = tf.estimator.inputs.numpy_input_fn(
          x={"x":xdata},
          y=ydata,
          num_epochs=None,
          shuffle=True)
      classifier.train(input_fn=train_input_fn, steps=2000)
  
  # Define the test inputs
  test_input_fn = tf.estimator.inputs.numpy_input_fn(
      x= {"x":mnist.test.images},
      y= mnist.test.labels,
      num_epochs=1,
      shuffle=False)
  
  # Evaluate accuracy.
  accuracy_score = classifier.evaluate(input_fn=test_input_fn)["accuracy"]
  
  print("\nTest Accuracy: {0:f}\n".format(accuracy_score))
  </code></pre>
  
  <p>Error:</p>
  
  <pre><code>ValueError: Mismatched label shape. Classifier configured with n_classes=1.  Received 10. Suggested Fix: check your n_classes argument to the estimator and/or the shape of your label.
  
  Process finished with exit code 1
  </code></pre>