In [1]:
import tensorflow as tf

In [2]:
print(tf.__version__)


1.2.0

In [29]:
data = [[2, 0, 81], [4, 4, 93], [6, 2, 91], [8, 3, 97]]

In [35]:
x1_data = [x_row[0] for x_row in data]

In [36]:
print(x_data)


[2, 4, 6, 8]

In [37]:
x2_data = [x_row[1] for x_row in data]

In [38]:
y_data = [y_row[2] for y_row in data]

In [39]:
print(y_data)


[81, 93, 91, 97]

In [8]:
learning_rate = 0.1

In [40]:
a1 = tf.Variable(tf.random_uniform([1], 0, 10, dtype=tf.float64, seed=0))
a2 = tf.Variable(tf.random_uniform([1], 0, 10, dtype=tf.float64, seed=0))
b = tf.Variable(tf.random_uniform([1], 0, 100, dtype=tf.float64, seed=0))

In [41]:
y = a1 * x1_data  + a2 * x2_data + b

In [42]:
rmse = tf.sqrt(tf.reduce_mean(tf.square(y - y_data)))

In [43]:
gd = tf.train.GradientDescentOptimizer(learning_rate).minimize(rmse)

In [44]:
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    
    for step in range(2001):
        sess.run(gd)
        if step % 100 == 0:
            print("Epoch: %.f, RMSE = %0.4f, 기울기 a1 = %0.4f, a2 = %0.4f,  y 절편 b = %0.4f" % (step, sess.run(rmse), sess.run(a1), sess.run(a2), sess.run(b)))
#             print("Epoch: {:0.0}, RMSE={:0.4}, 기울기 a = {:0.4}, y 절편 b = {:0.4}".format(float(step), sess.run(rmse), sess.run(a), sess.run(b)))


Epoch: 0, RMSE = 49.1842, 기울기 a1 = 7.5270, a2 = 7.8160,  y 절편 b = 80.5980
Epoch: 100, RMSE = 1.8368, 기울기 a1 = 1.1306, a2 = 2.1316,  y 절편 b = 78.5119
Epoch: 200, RMSE = 1.8370, 기울기 a1 = 1.1879, a2 = 2.1487,  y 절편 b = 78.1057
Epoch: 300, RMSE = 1.8370, 기울기 a1 = 1.2122, a2 = 2.1571,  y 절편 b = 77.9352
Epoch: 400, RMSE = 1.8370, 기울기 a1 = 1.2226, a2 = 2.1607,  y 절편 b = 77.8636
Epoch: 500, RMSE = 1.8370, 기울기 a1 = 1.2269, a2 = 2.1622,  y 절편 b = 77.8335
Epoch: 600, RMSE = 1.8370, 기울기 a1 = 1.2288, a2 = 2.1628,  y 절편 b = 77.8208
Epoch: 700, RMSE = 1.8370, 기울기 a1 = 1.2295, a2 = 2.1631,  y 절편 b = 77.8155
Epoch: 800, RMSE = 1.8370, 기울기 a1 = 1.2299, a2 = 2.1632,  y 절편 b = 77.8133
Epoch: 900, RMSE = 1.8370, 기울기 a1 = 1.2300, a2 = 2.1632,  y 절편 b = 77.8124
Epoch: 1000, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8120
Epoch: 1100, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8118
Epoch: 1200, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1300, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1400, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1500, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1600, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1700, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1800, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 1900, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117
Epoch: 2000, RMSE = 1.8370, 기울기 a1 = 1.2301, a2 = 2.1633,  y 절편 b = 77.8117

In [21]:
print("{:.}".format(1.123))


1e+00

In [ ]: