Stack Building
[tensorflow] 시작하기 본문
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 |