TensorFlow
텐서플로우의 기본적인 실행 과정이다.
데이터 플로우 그래프를 사용해서 numerical 데이터를 뽑아낸다 ( 기본 )
노드와 엣지를 이용한것을 데이터 플로우 그래프라고한다.
(각각의 노드엔 연산 , 엣지는 데이터의 흐름(data arrays = tensor) )
간단한 예제를 통해서 조금더 쉽게 텐서플로우에 접근해보자.
예제 도구는 아나콘다에서 제공해주는 주피터 노트북을 이용했다. // 자세한 사용법은 구글링으로.. ㅎㅎ
일단 실행 시키면 위와 같은 화면이 뜬다. 그럼 오른쪽 위에 NEW 를 눌러서 Ptython3 를 눌르면
이런식으로 새로운 페이지가 생성된다. 그냥 쉽게 여따가 코딩하면 된다고 생각하면된다.
( 아참고로 모든것은 서버를 이용한다 위의 URL 을 보면 알수 있듯이 )
기본적인 예제를 작성해 보았다.
위와같이 hello, 텐서 플로우를 찍어내는 과정 역시 데이터 플로우 그래를 빌드하고 sess 을 생성해서 출력해낸 것이다.
조금더 복잡하게 그래프를 빌드해보면
각각의 노드 1,2,3 을 생성 해주고 (constant)
print 를 그냥 해보면 출력값이 Tensor 의 속성만이 출력된다..
이 말은 세션을 하지 않은 상태에서는 그냥 텐서의 데이터 속성만이 출력된다는 소리!!
즉 텐서의 값을 출력 시키려먼 위와같이 세션을 생성한 후에 run 을 해주어야 한다!!!
그럼 무조건 데이터의 값을 넣어야 하는가? 실행하는 (run ) 도중에 데이터를 넣을수는 없는가?
있다! 방법은 Placeholder 노드를 생성하는 것 방법은 예제를 통해 알아보자.
위와같이 tf.placeholder 명령어로 노드를 생성
그리고 실행당시에 feed_dict 에 데이터 값을 넣으면 된다!
즉 텐서 플로우는 위와같이
1. 그래프를 빌드
2. sess 생성
3. 데이터 출력
으로 크게 나뉜다!!!
'머신 러닝' 카테고리의 다른 글
06. Multi-variable linear regression (0) | 2017.12.03 |
---|---|
05.Linear_regression의 cost 최소화 개념 (0) | 2017.12.03 |
04. Linear Regression (0) | 2017.12.02 |
02. TensorFlow 설치 (0) | 2017.12.01 |
01. 머신 러닝의 이해 (0) | 2017.12.01 |
댓글