Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. n_inputs = len(X_train.columns) - 2 # Exclude the datetime and station columns
  2. n_hidden1 = params['no_neurons'] # Neurons in hidden layer "n"
  3. n_hidden2 = params['no_neurons']
  4. n_outputs = 1 # Number of outputs
  5.  
  6. X = tf.placeholder(tf.float32, shape=(None, n_inputs), name="X")
  7. y = tf.placeholder(tf.float32, shape=(None), name="y")
  8. training = tf.placeholder_with_default(False, shape=(), name='training')
  9.  
  10. dropout_rate = params['dropout_rate']
  11. X_drop = tf.layers.dropout(X, dropout_rate, training=training)
  12.  
  13. he_init = tf.initializers.he_normal()
  14.  
  15. with tf.name_scope("dnn"):
  16.  
  17. hidden1 = tf.layers.dense(X_drop, n_hidden1, kernel_initializer=he_init, name="hidden1")
  18. bn1 = tf.layers.batch_normalization(hidden1, training=training)
  19. bn1_act = tf.nn.elu(bn1)
  20. bn1_act_drop = tf.layers.dropout(bn1_act, dropout_rate, training=training)
  21.  
  22. hidden2 = tf.layers.dense(bn1_act_drop, n_hidden2, kernel_initializer=he_init, name="hidden2")
  23. bn2 = tf.layers.batch_normalization(hidden2, training=training)
  24. bn2_act = tf.nn.elu(bn2)
  25. bn2_act_drop = tf.layers.dropout(bn2_act, dropout_rate, training=training)
  26.  
  27. output_before_bn = tf.layers.dense(bn2_act_drop, n_outputs, kernel_initializer=he_init, name="outputs")
  28. output = tf.layers.batch_normalization(output_before_bn, training=training)
  29.  
  30. with tf.name_scope("loss"):
  31. loss = tf.reduce_mean(tf.square(y - output))
  32.  
  33. initial_learning_rate = params['initial_learning_rate']
  34. decay_steps = params['decay_steps']
  35. decay_rate = 0.1
  36.  
  37. with tf.name_scope("train"):
  38. global_step = tf.Variable(0, trainable=False, name="global_step")
  39. learning_rate = tf.train.exponential_decay(initial_learning_rate, global_step, decay_steps, decay_rate)
  40. optimizer = tf.train.MomentumOptimizer(learning_rate, momentum=params['momentum'], use_nesterov=True)
  41. training_op = optimizer.minimize(loss, global_step=global_step)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement