Stack Building

[tensorflow] 시작하기 본문

딥러닝

[tensorflow] 시작하기

S00ahKim 2019. 4. 16. 20:40

1. 텐서플로우

- 산술연산과정을 그래프 구조로 표현한 소프트웨어 라이브러리로 python이나 C++을 통해 사용

- 기계학습과 신경망 학습을 위해 구글에서 개발

- 누구나 자유롭게 사용가능 하도록 open source로 공개

 

 

2. 그래프의 의미

- 그래프: 유한 개의 정점을 선분으로 결합한 형식.

- 쓰임: 경로 탐색, 객체 관계, 데이터 계층 구조 표현에 효과적으로 적용

 

- 정점(node) : 그래프에서 수학 연산

  선분을 통해 입력 받은 데이터를 연산하여 결과를 선분으로 출력

- 선분(edge) : 정점을 지나는 데이터 배열. 텐서(tensor)라고 함

- 데이터 흐름(Data Flow) : 데이터들이 정점을 지나면서 연산이 수행하여 원하는 결과를 얻거나 작업이 이루어지는 과정

 

=> 텐서가 그래프 상에서 돌아다닌다고 하여 텐서 플로우(tensor flow)라 한다.

텐서플로우 작업 과정

 

3. 예제

 

import tensorflow as tf

 

[1] one = tf.constant(1)

[2] two = tf.constant(2)

[3] sum = tf.add(one, two)

[4] sess = tf.Session()

[5] print(sess.run(sum))

 

 

[1]-[2] constant()는 주어진 자료로 고정된 상수 정점을 만든다.

[3] 산술 연산 함수는 선분(tensor)으로 전달받은 자료를 산술 연산하는 정점을 구성한다. 함수를 쓸 때에는 이전 정점과 연결되어 있어야 한다.

[4] Session()은 그래프를 동작시키기 위한 세션을 설정한다. sess 부분은 add 노드라고 보면 된다.

[5] run()은 준비된 세션에 전달한 그래프 정점을 실행시킨다. 결과를 알고 싶은 부분에 런해주면 되고, 전에 런하지 않은 것도 과정 중에 있으면 자동으로 런 된다. 런이 아니라 프린트를 하면 정점의 정보가 프린트된다.

 

 

4. 산술 연산 정점을 만드는 함수

 

 

'딥러닝' 카테고리의 다른 글

[pytorch] 시작하기  (0) 2019.08.31
신경망 기초  (0) 2019.08.27
신경망 공부하면서 궁금한 것들 셀프 질답 2  (0) 2019.08.25
신경망 공부하면서 궁금한 것들 셀프 질답  (0) 2019.08.24
딥러닝 기초  (0) 2019.06.04
Comments