Advertisement
Guest User

Untitled

a guest
Dec 30th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. import tensorflow as tf
  2. import numpy as np
  3. import math
  4.  
  5. np.random.seed(10)
  6.  
  7. #program to take 3 features, multiply them together to produce a 4th row
  8.  
  9. numRows = 4
  10. numCols = 200
  11.  
  12. def randomTrainingData():
  13. lower = -10
  14. upper = 10
  15. mat = np.random.rand(numRows,numCols) * (upper - lower) + lower
  16.  
  17. for col in range(numCols):
  18. prod = 1
  19. for f in mat[:-1,col]:
  20. prod *= f
  21. mat[-1,col] = prod
  22.  
  23. return mat
  24.  
  25.  
  26. def nn(input):
  27. pass
  28.  
  29. def main():
  30. trainingData = randomTrainingData()
  31. X = trainingData[:-1,:]
  32. Y = trainingData[-1,:].reshape(1,numCols)
  33. inputPlaceholder = tf.placeholder(tf.float32,
  34. shape=(numRows-1, numCols))
  35.  
  36. hiddenUnits = 100
  37.  
  38. ################################################
  39.  
  40. weights1 = tf.Variable(
  41. tf.random_uniform([hiddenUnits, numRows-1],-.1, .1),
  42. name = 'weights1')
  43. biases1 = tf.Variable(tf.zeros([hiddenUnits,1]),
  44. name = 'biases1')
  45. hidden = tf.nn.sigmoid(tf.matmul(weights1,inputPlaceholder) + biases1)
  46.  
  47. numOutputs = 1
  48.  
  49. weights2 = tf.Variable(
  50. tf.random_uniform([numOutputs, hiddenUnits],-.1,.1),
  51. name = 'weights2')
  52. biases2 = tf.Variable(tf.zeros([numOutputs]), name='biases2')
  53. outputs = tf.matmul(weights2, hidden) + biases2
  54.  
  55. ########################################################
  56.  
  57. targetPlaceholder = tf.placeholder(tf.float32, shape=(1,numCols))
  58. learningRate = 1e-5
  59. optimizer = tf.train.GradientDescentOptimizer(learningRate)
  60. # loss = tf.reduce_mean(tf.square(outputs-targetPlaceholder))
  61. loss = tf.square(outputs-targetPlaceholder)
  62. tr = optimizer.minimize(loss)
  63.  
  64. ###############################################
  65.  
  66. init = tf.initialize_all_variables()
  67.  
  68. with tf.Session() as sess:
  69. dd={inputPlaceholder:X, targetPlaceholder:Y}
  70. dd2={inputPlaceholder:X}
  71. sess.run(init,feed_dict = dd)
  72.  
  73. for i in range(100000):
  74. sess.run(tr, feed_dict=dd)
  75.  
  76.  
  77. if (i) % 5000 == 0:
  78. print "iteration:",i
  79. ll = sess.run(loss, feed_dict = dd)
  80. print np.mean(ll[0])
  81. oo = sess.run(outputs,feed_dict=dd2)
  82. print oo[0,0],Y[0,0]
  83.  
  84.  
  85. if __name__ == "__main__":
  86. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement