TensorFlow - Exercise 2 - Variables in TensorFlow
30 May 2017Exercise : Generate a random array of size 100 and find mean of z as obtained from below equations: 1. y = xx + 5x 2. z = yy
Implement both the equations seperately and * means element wise multiplication and not matrix multiplication. Below are some restrictions for this exercise:
- y should be of type tf.Variable()
- Use tf.random_normal() to get random tensor of size 100. Use seed as 12.
Caution : Solution for exercise is below. Please try solving problem by yourself before looking below
import tensorflow as tf
# get 100 random tensors. 12 is used as seed.
x = tf.random_normal([100], seed=12,name="x")
y = tf.Variable(x*x+5*x,name="y")
z = tf.multiply(y,y,name="z")
zmean = tf.reduce_mean(z)
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
zout = sess.run(zmean)
print(zout)
27.7974
Summary of what each line does in above code:
Line 1 : Import tensorflow library with alias tf.
Line 4 : Generate random tensor of size 100.
Line 5 : Create a variable y. Initial value of y is given as xx+5x.
Line 6 : Multiply y and y.
Line 7 : Calculate mean of z.
Line 9 : When you launch the graph, variables have to be explicitly initialized before you can run Ops that use their value. You can initialize a variable by running its initializer.
Line 11 : Create a new session to run our graph.
Line 12 : Run the operation to initialize global variables.
Line 13 : Run graph to calculate value of zmean. This will calculate x, y and finally zmean.
For your own unerstanding you can try looking at graph of this code in tensorboard.