[Tensorflow]1.Tensorflow의 자료형


Tensorflow의 자료형


tensorflow은 python을 기반으로 하는 언어이다.

tensorflow를 다운받는 방법은 Tensorflow 다운로드를 참고하면 된다.

tensorflow의 대표적인 자료형은 placeholder, Variable, constant 가 있다.



자료형에 대해 자세히 알아보자!

항상 tensorflow를 코드 맨 처음 줄에 import해준다.

import tensorflow as tf

1.1 placeholder



placeholder는 데이터들을 담는 틀이라고 생각하면 된다.
선언은 다음과 같다.

X=tf.placeholder(tf.float32,shape=[None,3])



placeholder(틀)에는 다음과 같이 나중에 데이터들을 넣어준다.

sess=tf.Session()
sess.run(X,feed_dict={X:x_data})



sess.run은 tensor들을 그래프화 시킨다고 생각하면된다.
tensorflow의 자료형들은 노드(tensor)를 생성하기에 반드시 그래프로 만들어 주어야 잘 작동한다.

sess=tf.Session() #이 부분은 한 번만 써준다.
sess.run(X) #X를 그래프화 시킨다.


1.2 Variable


variable은 컴퓨터가 데이터를 학습을 시킬 때 정확도를 높이기 위해 컴퓨터가 내부적으로 변경하는 변수이다.
선언은 다음과 같다.

W=tf.Variable(tf.random_normal([3,1]),name="weight")

tf.random_normal은 변수의 초기값을 랜덤하게 주는 역할을 한다.


Variable 선언 후 반드시 다음과 같이 변수 초기화를 시켜야한다.

sess.run(tf.global_variables_initializer())


1.3 constant


constant는 variable과 같이 컴퓨터가 사용하는 상수라는 정도만 이해해도 된다.
선언은 다음과 같다.

node=tf.constant(3.0,tf.float32)


다른 자료형과 마찬가지로 이 값을 출력하거나 이용하고 싶으면 그래프화 시켜야 한다.

print(sess.run(node))


1.4 이 자료형은 도대체 어디에 이용할까?


나중에 배우겠지만 우리의 목적은 데이터를 정확하게 구분지을 수 있는 판별식 WX+b를 구하는 것이다.

보통 X는 placeholder로 선언이되고, W(weight)와 b(bias)는 Variable로 선언이 된다.

데이터 셋을 가지고 훈련을 시킬 때, 컴퓨터는 데이터들을 X에 넣어가면서 W,b 스스로 변경하여 최적의 값을 찾는다.