안녕하세요, 이상현입니다.
지난 포스팅에서 환경 구축을 끝맞치고, TensorFlow가 정상 동작하는지, 확인을 할 때
Welcome to TensorFlow를 출력 했습니다.
오늘은 그 코드에 대해서 설명을 해보려고 합니다.
import tensorflow as tf
welcome =tf.constant("Welcome to TensorFlow!!")
sess = tf.Session()
sess.run(welcome)
코드는 위와 같습니다.
1. tf.constant
먼저 tf.constant를 설명을 하겠습니다.
위 코드를 보시면 welcome은 프로그래밍을 해보신 분들은
모두가 변수라는 사실을 알 것 입니다.
그렇다면 welcome을 바로 출력을 해보겠습니다.
welcome =tf.constant("Welcome to TensorFlow!!")
print (welcome)
이렇게 출력을 하게되면 일반적으로 프로그래밍을 해보신 분들은 당연히,
Welcome to tensorflow!!가 출력되겠지 라고 생각하셨을텐데 아닙니다.
Tensor("Const:0", shape=(), dtype=string)
위와 같이 출력이 됩니다.
Tensor는 TensorFlow에서 사용하는 자료형입니다.
Const는 n차원 이라고 생각하시면되며, shape는 차원이 가지고 있는 요소의 수입니다.
dtype은 보시고 다들 아셨겠지만 datatype으로 현재는 string으로 문자열입니다.
한가지만 더 해보겟습니다.
a = tf.constant(10)
b = tf.constant(5)
c = tf.constant(5)
d = tf.add(a,b,c)
print (d)
위와 같은 코드를 작성을 하였을 때는 값이 어떻게 나올까요?
20이라는 값이 나올꺼라고 생각을 하시겠지만, 위에서 부터 차례대로 글을 읽으신 분들이라면 20이라고 생각을 안하셨겠죠?
바로
Tensor("Add:0", shape=(), dtype=int32)
위에서 welcome과는 모두가 같지만 dtype만 int를 가지는 것을 확인할 수 있습니다.
자 그렇다면 어떻게 welcome변수와 d가 가지고 있는 Tensor를 어떻게 출력을 할까요?
바로 바로 Session입니다. Session으로 넘어가 보도록 하겠습니다.
2. tf.Session
실질적으로 연산을 수행하는 곳은 바로 tf.Session입니다.
그러면 바로 Session과 run을 이용해서 출력을 해보겠습니다.
sess = tf.Session()
sess.run(welcome)
sess.run(d)
이렇게 Session을 이용해 Tensor들의 연산을 수행했을 때
welcome의 welcome to TensorFlow!! <--출력 결과와
d의 20 <--이라는 출력 값을 얻을 수 있습니다.
자 이렇게 TensorFlow의 기초인 tf.constant와 tf.Seesion을 간단하게 배워보았습니다.
실습을 통해서 다들 해보시기바랍니다.
감사합니다.