Advertisement
Guest User

Untitled

a guest
Mar 16th, 2018
650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. # Imports
  2. import numpy as np
  3. import tensorflow as tf
  4. import os
  5. import input_data # custom input for my load_dataset() Function
  6.  
  7. tf.logging.set_verbosity (tf.logging.DEBUG) # Sets verbosity for TF
  8.  
  9. def main(argv):
  10.     (train_data, train_labels) = input_data.load_dataset()
  11.     train_data = np.asarray(train_data, dtype=np.float32)
  12.     train_labels = np.asarray(train_labels, dtype=np.float32)
  13.  
  14.     classifier = tf.estimator.Estimator(
  15.         model_fn=ffnn_model_fn, model_dir="/tmp/ffnn2")
  16.     print("Classifier set up")
  17.  
  18.     train_input_fn = tf.estimator.inputs.numpy_input_fn(
  19.         x={"x":train_data},
  20.         y=train_labels,
  21.         batch_size=100,
  22.         num_epochs=None,
  23.         shuffle=True)
  24.     print("Training set up")
  25.  
  26.     classifier.train(
  27.         input_fn=train_input_fn,
  28.         steps=500)
  29.     print("Training done")
  30.  
  31.  
  32.     eval_input_fn = tf.estimator.inputs.numpy_input_fn(
  33.         x={"x":train_data},
  34.         y=train_labels,
  35.         num_epochs=1,
  36.         shuffle=False)
  37.  
  38.     eval_results = classifier.evaluate(input_fn=eval_input_fn)
  39.     print("Eval done")
  40.     print(eval_results)
  41.  
  42. def ffnn_model_fn(features, labels, mode):
  43.     input_layer = features["x"]
  44.  
  45.     hidden_layer1 = tf.layers.dense(
  46.         inputs=input_layer,
  47.         units=3,
  48.         activation=tf.nn.relu)
  49.  
  50.     hidden_layer2 = tf.layers.dense(
  51.         inputs=hidden_layer1,
  52.         units=2,
  53.         activation=tf.nn.relu,
  54.         name="hidden_layer2")
  55.  
  56.     with tf.variable_scope("hidden_layer2", reuse=True):
  57.         w = tf.get_variable("kernel")
  58.  
  59.     ### Not Working
  60.     sess = tf.InteractiveSession();
  61.     a = tf.Print(w,[w]);
  62.     print(a.eval());
  63.     ###
  64.  
  65.     out1 = tf.layers.dense(inputs=hidden_layer2, units=1)
  66.  
  67.     if mode == tf.estimator.ModeKeys.PREDICT:
  68.         print("Not implemented yet")
  69.  
  70.     labels = tf.reshape(labels, [-1,1])
  71.     loss = tf.losses.mean_squared_error(labels=labels, predictions=out1)
  72.  
  73.     if mode == tf.estimator.ModeKeys.TRAIN:
  74.         optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001)
  75.         train_op = optimizer.minimize(
  76.             loss=loss,
  77.             global_step=tf.train.get_global_step())
  78.         return tf.estimator.EstimatorSpec(mode=mode, loss=loss, train_op=train_op)
  79.  
  80.     eval_metric_ops = {
  81.         "accuracy" : tf.metrics.accuracy(labels=labels, predictions=out1)
  82.     }
  83.     return tf.estimator.EstimatorSpec(mode=mode, loss=loss, eval_metric_ops=eval_metric_ops)
  84.  
  85. if __name__ == "__main__":
  86.     tf.app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement