티스토리 뷰
출처¶
http://jorditorres.org/first-contact-with-tensorflow/#cap2 (First contact with tensorflow)
1. 좌표값 생성¶
numpy 모듈 임포트
In [1]:
import numpy as np
좌표값 생성
In [2]:
num_points = 1000
vectors_set = []
for i in range(num_points):
x1 = np.random.normal(0.0, 0.55)
y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0, 0.03)
vectors_set.append([x1, y1])
x_data = [v[0] for v in vectors_set]
y_data = [v[1] for v in vectors_set]
그림 그리는 코드
In [3]:
import matplotlib.pyplot as plt
plt.plot(x_data, y_data, 'ro')
plt.legend()
plt.show()
2. 비용함수와 경사하강법¶
모수 지정
In [4]:
import tensorflow as tf
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
비용함수 지정 (Cost, Loss) (MSE : mean squared error)
In [5]:
loss = tf.reduce_mean(tf.square(y - y_data))
최적화 (경사하강법 : GD gradient descent algorithm)
In [6]:
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
알고리즘 실행¶
In [7]:
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
In [8]:
for step in range(8):
sess.run(train)
print(step, sess.run(W), sess.run(b))
plt.plot(x_data, y_data, 'ro')
plt.plot(x_data, sess.run(W) * x_data + sess.run(b))
plt.legend()
plt.show()
플랏
'Tensorflow > Tensorflow for Python' 카테고리의 다른 글
Tensorflow-GPU 설치 on Ubuntu16.04 (0) | 2018.01.22 |
---|---|
Multilayer Perceptron (ver.python) (편집 예정) (0) | 2017.09.30 |
Convolutional Neural Network (ver. python) (0) | 2017.06.25 |
단일신경망 Single Layer Neural Network (ver. python) (0) | 2017.06.24 |
군집화 k-means Clustering (ver.Python) (0) | 2017.06.20 |