My previous post. . All my code can be found on github (5_Variables.ipynb)
We use variables to store data during computation.
There are many different ways to create Variables. Here are some examples.
#Different Tensor Variables # Basic y = tf.Variable(10, name='y') #array array = tf.Variable([1,2,3,4], name='array') # Zeros zeros=tf.zeros([3,2]) # Ones ones = tf.ones([3,2]) # Random uniform values rand_uniform = tf.random_uniform([3,2], minval = -10, maxval=10) # Normally distributed numbers rand_normal = tf.random_normal([3,2],mean=0.0,stddev=3.0)
We need to allocate memory for the variables. We do that by calling
# Add an op to initialize the variables. init_op = tf.global_variables_initializer() #execute with examples session = tf.Session() session.run(init_op)
Then when the above commands are run we get:
To change the value of a variable we use the assign operation.
We can also save an operation on a variable and run it later.
my_variable = tf.Variable(0) increment_my_variable = my_variable.assign(my_variable + 1)
Here i have created a new variable my_variable and initialized it to 0.
I have also created an operation called increment_my_variable that adds one to its current vale.
I can run both the operation or assign the variable directly.
Above each time increment_my_variable runs it increments the value. But we can also directly assign a value to my_variable as well.
If you want to save the values of variables use the tf.train.Saver() operation.
# Use this operation to save the session variables saver = tf.train.Saver() # Run the save operation save_path = saver.save(session, "./model.ckpt") print("Saved: %s" % save_path)
This will create the files in the current directory.
You will use this later to save the weights and biases of trained models.
Then later call
To restore the values from the file. Example: