In [1]:
import tensorflow as tf
In [2]:
sess = tf.Session()
In [3]:
a = tf.Variable(tf.constant(4.))
x_val = 5.
x_data = tf.placeholder(dtype=tf.float32)
In [4]:
multiplication = tf.multiply(a, x_data)
In [5]:
loss = tf.square(tf.subtract(multiplication, 50.))
In [6]:
init = tf.global_variables_initializer()
sess.run(init)
In [7]:
my_opt = tf.train.GradientDescentOptimizer(0.01)
train_step = my_opt.minimize(loss)
In [8]:
print('Optimizing a Multiplication Gate Output to 50.')
for i in range(20):
fd = {
x_data: x_val,
}
sess.run(train_step, feed_dict=fd)
a_val = sess.run(a)
mult_output = sess.run(multiplication, feed_dict=fd)
print("{} * {} = {}".format(a_val, x_val, mult_output))
In [9]:
from tensorflow.python.framework import ops
In [10]:
ops.reset_default_graph()
In [11]:
sess = tf.Session()
a = tf.Variable(tf.constant(1.))
b = tf.Variable(tf.constant(1.))
x_val = 5.
x_data = tf.placeholder(dtype=tf.float32)
# f(x) = a*x + b
two_gate = tf.add(tf.multiply(a, x_data), b)
loss = tf.square(tf.subtract(two_gate, 50.))
init = tf.global_variables_initializer()
sess.run(init)
my_opt = tf.train.GradientDescentOptimizer(0.01)
train_step = my_opt.minimize(loss)
In [12]:
print('Optimizing Two Gate Output to 50.')
for i in range(20):
fd = {
x_data: x_val,
}
sess.run(train_step, feed_dict=fd)
a_val, b_val = (sess.run(a), sess.run(b))
two_gate_output = sess.run(two_gate, feed_dict=fd)
print('{} * {} + {} = {}'.format(a_val, x_val, b_val, two_gate_output))
In [ ]: