인공지능

[모두의 딥러닝] lab 01. TensorFlow basic

여니두 2019. 4. 3.

TensorFlow

: Machine Intelligence를 위한 구글에서 만든 오픈 소스 라이브러리
- 단연 1등의 Deep learning libraries
- Data flow graph를 사용하여 numerical한 계산을 하는 라이브러리
- Python 이용함

 

Data Flow Graph란?

Graph: 노드와 엣지로 구성되어 있는 자료구조
Node: 하나의 operation
Edge: 하나의 데이터(data arrays, tensors)

--> tensor가 돌아다닌다는 의미에서 Tensorflow라 칭함

Hello Tensorflow

1. Constant를 만듦 (노드)
2. Session을 만듦
3. 노드 실행시킴.
- String 앞에 붙는 'b': byte string이라는 뜻

 

예시 (노드 더하는 예시)

node1 등을 출력하면 이것이 'Tensor'임을 알려주는 정도로만 출력된다. 값은 출력되지 않음.

session.run() 통해 노드의 실행(출력)

 

TensorFlow의 전체적 구조

1. 그래프를 빌드(정의). 
이 때 place hold라는 노드를 만들 수 있음.
2. sess.run(op)로 그래프를 실행
sess.run(op, feed_dict={x:x_data})
3. 그 결과로 session.run의
 값이 있으면 값을 리턴

 

Placeholder

- 그래프를 실행시키는 단계에서 값을 던져주고 싶다?
- 노드를 placeholder라는 특별한 노드로 만듦


- 값을 미리 place hold하려면 feed_dict로 값 설정
- 값을 여러 개 place hold할 수 있음.
그래프를 만들어 둔 다음에는 필요한 값을 place hold하여 그래프계산을 할 수 있음.

 

Tensor : 기본적으로 array

 

Ranks, Shapes, Types

- Rank: 몇 차원?

- Shape (중요)

각각의 element 개씩 들어있나?

- Type

대부분 float32, int32 사용

댓글