본문 바로가기
머신 러닝

03. TensorFlow 예제

by Jnamelight 2017. 12. 1.

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

댓글