[모두의 딥러닝] lab 01. TensorFlow basic
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 사용
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] lab 03. Minimizing Cost (0) | 2019.04.03 |
---|---|
[모두의 딥러닝] lec 03. Linear Regression의 cost 최소화 알고리즘의 원리 설명 (0) | 2019.04.03 |
[모두의 딥러닝] lab 02. Linear Regression (0) | 2019.04.03 |
[모두의 딥러닝] lec 02. Linear Regression의 Hypothesis와 cost 설명 (0) | 2019.04.03 |
[모두의 딥러닝] lec 01. 기본적인 ML 용어와 개념 설명 (0) | 2019.04.01 |
댓글