본문 바로가기
  • Let's go grab a data
Data/TensorFlow

TensorFlow 프로그래밍 모델, 용어

by pub-lican-ai 2017. 3. 13.
반응형

[용어 정리]

데이터 플로우 그래프 : 텐서플로의 연산 모듬

그래프내의 노드 : 산술 연산자

에지: 텐서라고 명명된 다중 다차원 데이터 집합, 피연산자

      -일반 에지: 입력값이 텐서이며 하나의 명령어에 대한 출력 값은 다른 명령어의 입력 값이 됨

      -특수 에지: 데이터의 연산 결과가 다른 에지의 입력값이 되지 않음. 두 노드 간의 제어 의존성을 정의.

                     예를 들어 A,B의 특수 에지가 있고 두 개가 연결되어 있다면, A의 연산이 종료되어야만 B연산 수행 의미

명령어: 행렬의 덧셈, 곱셈 연산 추상화

커널: 명령어를 구현한 것, 디바이스(CPU,GPU)에 따라 별도 구현

세션: 클라이언트 프로그램이 텐서 플로 런타임 시스템과 통신하기 위해 세션 생성

      - session.extend: 노드추가 또는 에지(데이터) 추가

      - session.run: 출력


[Hello TensorFlow]

import tensorflow as tf

hello=tf.constant("hello TensorFlow")

sess = tf.Session()

print(sess.run(hello))



[프로그래밍 모델]

x=1

y=x+9

print(y)

x=tf.constant(1,name='x')

y=tf.Variable(x+9,name='y')

print(y)

#y값이 연산되지 않는다. 아래와 같이 초기화와 세션을 통해 연산 가능


x=tf.constant(1,name='x')

y=tf.Variable(x+9,name='y')

#변수초기화 함수

#model = tf.initialize_all_variables() #deprecated

model = tf.global_variables_initializer()

#값을 연산하는 세션 생성

with tf.Session() as session:

    session.run(model)

    print(session.run(y))


[자료 구조 정의]

#placeholder 기본 자료 구조 정의

a=tf.placeholder("int32")

b=tf.placeholder("int32")

y=tf.multiply(a,b)

session = tf.Session()

print(session.run(y,feed_dict={a:2,b:5}))


출처: 책 텐서플로 입문 _ 잔카를로 자코네

반응형