[Tensorflow]1.Tensorflow의 자료형
in Language on 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 스스로 변경하여 최적의 값을 찾는다.