<인스톨 프로그램>
텐서플로우는 기본적으로 파이썬을 지원하고 있으나, 자바,C,Go 언어도 부분적으로 지원하고 있다.
입문자들에게는 C언어가 익숙할 수 있으나, 윈도우는 지원하지 않는다.
해당언어가 지원하는 플랫폼을 확인후에 설치 바람.
https://www.tensorflow.org/install/ - Tensorflow 공식사이트
윈도우 사용자의 경우, Anaconda 를 설치하여 파이썬으로 하는 경우가 많다.
아나콘다에 파이썬 인터프린터가 들어있으므로 따로 설치할 필요는 없어보임.
https://www.continuum.io/downloads - Anaconda 다운로드
참고로 python-3.5.3-amd64.exe에서 테스트가 가능하였음.
<텐서플로우 활성화>
https://brunch.co.kr/@mapthecity/15
위 링크에서 활성화 방법을 설명하고 있다.
프롬프트에 activate tensorflow -> python 후 터미널이 열리면 코딩이 가능하다.
<텐서플로우 기본 튜토리얼>
https://www.tensorflow.org/get_started/get_started
해당 예제는 y = Wx + b 와 같은 선형방정식에서
입력값- x_train = [1,2,3,4]과 출력값 - y_train = [0,-1,-2,-3]을 주어진 상태에서 트레이닝하여 a와 b를 추론한다.
참고로 W는 가중치(weight)의 약자.
개별함수에 대한 설명은 생략.
예제에 나오는 함수정도는 해당사이트에서 설명하고 있다.
import numpy as np
import tensorflow as tf
# Model parameters
W = tf.Variable([.3], tf.float32)
b = tf.Variable([-.3], tf.float32)
# Model input and output
x = tf.placeholder(tf.float32)
linear_model = W * x + b
y = tf.placeholder(tf.float32)
# loss
loss = tf.reduce_sum(tf.square(linear_model - y)) # sum of the squares
# optimizer
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
# training data
x_train = [1,2,3,4]
y_train = [0,-1,-2,-3]
# training loop
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init) # reset values to wrong
for i in range(1000):
sess.run(train, {x:x_train, y:y_train})
# evaluate training accuracy
curr_W, curr_b, curr_loss = sess.run([W, b, loss], {x:x_train, y:y_train})
print("W: %s b: %s loss: %s"%(curr_W, curr_b, curr_loss))
When run, it produces
W: [-0.9999969] b: [ 0.99999082] loss: 5.69997e-11
실행을 하면, 실제값인 -1과 1에 가까운 수치가 찍힌다.
예제에서는 가중치가 W변수 하나였지만, 여러개의 변수를 설정하고 추론하는 것도 가능하다.
이후 아래 예제는 고급 API함수를 사용하여 결과를 도출하는 방법(내용은 같음) 과 모델함수를 직접작성하는 내용을 소개하고 있다.
여기까지가 튜토리얼 기본 예제이다.