Tensorflow 모듈을 이용하여 2개의 숫자를 더하는 코드를 작성하기로 하자. 2개의 숫자를 상수로 정의하는 작업이 필요하며 아울러 2개의 숫자를 더하는 연산이 1개 필요하다. TensorFlow에서 정의되는 상수 값 및 덧셈이라는 연산은 각각 노드(Node)에 해당한다. 이러한 노드들 간의 연결내지는 흐름(flow)이 엣지(edge)이다.
파이선 뿐만 아니라 어떤 코딩이라 할지라도 노드에 해당하는 부분들이 있으며 순차적이든 병렬적이든 흐름 즉 실행 작업이 일어나게 된다. 이러한 내용이 이산수학분야에서 그래프 이론의 출발점에 해당한다.
아래는 라즈베리 파이의 파이선 2.7 셸에서 작성한 노드 설정과 출력 결과이다.
tf.constant() 가 상수설정 명령이다. tf.float32는 실수형 데이터임을 뜻한다.
node3는 덧셈 연산이다 이 노드들을 직접 출력해보면 노드들의 속성만 출력됨을 알 수 있다. 즉 상수, shape() 및 데이터 유형 여부이다.
우리가 생각하는 결과 즉 숫자를 얻어내려면 이 노드들이 상호 연결되어 실행단계를 거쳐서 출력되어야 한다. 아래의 코드에서 빨간색 박스 친 부분에 유의한다.
아래는 이 코드를 실행한 결과이다.
tf.Session() 실행 단계를 거침으로 인해 숫자가 출력됨을 확인할 수 있다.
상기의 예제처럼 극히 간단한 경우는 코드의 구조를 나타내는 graph 구조를 굳이 따져 볼 필요가 없으나 적어도 기계 학습 알고리듬이 적용 되는 경우에는 그 구조를 살펴 볼 필요가 있다. 특히 TensorFlow 모듈을 사용하는 경우 TensorBoard 사용법에 의해 코드의 graph 정보를 받아 분석이 가능하므로 뒤따르는 예제에서 실습해 보기로 한다.
'머신러닝' 카테고리의 다른 글
1-4 TensorFlow 모듈응용 Linear Regression 연습 예제 (0) | 2017.12.05 |
---|---|
1-3 TensorFlow 모듈응용 Computational Graph 덧셈 placeholder 예제 (0) | 2017.12.05 |
1-1 라즈베리 파이 구글 인공지능 머신러닝 지원 TensorFlow 모듈 설치 및 시험 (0) | 2017.12.05 |
Covariance 항을 포함한 softmax MNIST 적용코드 (0) | 2012.02.04 |
Statistical softmaxt 텐서플로우 응용 코드: iris_alpha_01.py (0) | 2012.02.03 |