In [11]:
import tensorflow as tf
import matplotlib.pyplot as plt
p = tf.constant([2.5,3.0,5.0,3.0,4.0],name ='x')
q = tf.constant([1.5,6.0,3.5,2.0,6.0],name='y')
training_epoch = 100
learning_rate = 0.005
In [12]:
t1=0.0
t0=0.0
with tf.Session() as sess:
for epoch in range (training_epoch):
for i in range (0,5):
x1=tf.multiply(t1,x[i])
pred=tf.add(t0,x1)
error=tf.subtract(pred,y[i])
e2=tf.square(error)
t0=tf.subtract(t0,tf.multiply(learning_rate,error))
t1=tf.subtract(t1,tf.multiply(learning_rate,tf.multiply(error,x[i])))
if (epoch+1) % 10 == 0:
print("theta_0=",sess.run(t0)," theta_1=",sess.run(t1)," error=",sess.run(error))
print("Optimized")
In [13]:
sess=tf.Session()
x1=sess.run(p)
y1=sess.run(q)
plt.plot(x1, y1, 'ro', label='Original data')
plt.plot(x1, sess.run(t1) * x1 + sess.run(t0), label='Fitted line')
plt.legend()
plt.show()
In [ ]: