[실습] Linear Regression

  1. TF 명령을 이용한 그래프 설계(빌드)
    Variable : Tensorflow가 학습과정에서 변경시키는 변수

    #가설 정의.
    x_train = [1, 2, 3]
    y_train = [1, 2, 3]
    
    W = tf.Variable(tf.random_normal([1]), name='weight')
    b  = tf.Variable(tf.random_normal([1]), name='bias')
    
    hypothesis = x_train * W + b
    
    #코스트 함수
    cost = tf.reduce_mean(tf.square(hypothesis - y_train))
    #코스트를 Minimize
    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)
    train = optimizer.minimize(cost)
    
  2. Run/update graph and get results

    #Variable을 사용하기 전에는 반드시 global_variables_initializer()를 해줘야된다.
    sess = tf.Session()
    sess.run(tf.global_variables_initializer())
    
    for step in range(2001):
      sess.run(train)
      if step % 20 == 0:
         print(step, sess.run(cost), sess.run(W), sess.run(b))
    
  3. Train을 실행시킨다는 의미는 전체를 실행시키는 것과 같다.
    Train -> Cost -> Hypothesis -> W, b 이런식으로 연결이 되어 있기 때문이다.

Placeholder를 사용한 경우

X = tf.placeholder(tf.float32)
Y = tf.placeholder(tf.float32)
for step in range(2001):
  cost_val, W_val, b_val, _ = \
     sess.run([cost, W, b, train], feed_dict={X: [1, 2, 3], Y: [1, 2, 3]})
  if step % 20 == 0:
     print(step, cost_val, W_val, b_val)

#Model Testing
print(sess.run(hypothesis, feed_dict={X: [1], Y: [4]}
#집어넣은 값에 따른 예상치를 확인할 수 있다.

results for ""

    No results matching ""