(머신러닝-7) 텐서플로우 Basic
지금까지 파이썬에 대해서 알아보았다. 파이썬과 텐서플로우는 궁합이 잘 맞는다. 이제부터는 텐서플로우에 대해서 알아본다. 텐서플로우는 모든 프로그램이 계산 그래프 (computational graph)를 통해 구성되며, 이 계산 그래프가 CPU, GPU 등의 연산장치에서 작동된다. 계산 그래프란 프로그램의 계산 구조를 정의하는 방향성 그래프 (directional graph)를 말한다. 계산 그래프는 노드 (node)와 엣지 (edge)로 구성된다. 노드는 계산 그래프에서 값들의 계산하는 등의 작업을 나타낸다. 텐서플로우에서 노드는 오퍼레이션(OP)라고 부른다. 그리고 실제 값을 전달하는 것이 엣지이다. 엣지는 화살표로 표현된다. 텐서플로우의 계산 그래프는 엣지를 따라 텐서(tensor)라는 형태로 값이 다른 오퍼레이션으로 이동한다고 말한다. 그래서 언어 이름이 텐서(tensor)의 흐름(flow)이다. 텐서는 데이터를 표현하는 기본 단위로 다차원(multi-dimensional) 행렬을 의미한다. Session 텐서는 Spark의 RDD(Resilient Distributed Dataset)과 개념이 비슷하다. 공통점은 정의되었을 때 실행되는게 아니라 실제 연산을 수행할 때 실행한다. 텐서플로우는 Session 이라는 객체를 통해 실행한다. import tensorflow as tf x = tf.constant( 8 ) y = tf.Variable(x + 17 ) print (y) init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) print (sess.run(y)) 실행결과 <tf.Variable 'Variable:0' shape=() dtype=int32_ref> 25 tf.global_variables_initializer()는 세션 속의 tf.Variable 형태로