In [1]:
import tensorflow as tf
import matplotlib.pyplot as plt
c = tf.constant([1.0,2.0,3,4,8],name ='c')
p = tf.constant([1.0,2.0,2.0,3.0,5.0],name='p')
training_epoch = 100
learning_rate = 0.005
In [2]:
t1=0.0
t0=0.0
with tf.Session() as sess:
for epoch in range (training_epoch):
for i in range (0,5):
c1=tf.multiply(t1,c[i])
pred=tf.add(t0,c1)
error=tf.subtract(pred,p[i])
t0=tf.subtract(t0,tf.multiply(learning_rate,error))
t1=tf.subtract(t1,tf.multiply(learning_rate,tf.multiply(error,c[i])))
if (epoch+1) % 10 == 0:
print("theta_0=",sess.run(t0)," theta_1=",sess.run(t1)," error=",sess.run(error))
print("Optimized")
In [3]:
sess=tf.Session()
c1=sess.run(c)
p1=sess.run(p)
plt.plot(c1, p1, 'ro', label='Original data')
plt.plot(c1, sess.run(t1) * c1 + sess.run(t0), label='Fitted line')
plt.legend()
plt.show()
In [ ]: