본문 바로가기
TensorFlow

전문가용 Deep MNIST(1)

by EasyGPT 2016. 4. 27.
반응형

Deep MNIST for Experts   전문가용 Deep MNIST

 

TensorFlow 대규모 수치계산 수행하는 강력한 라이브러리입니다. 라이브러리가 가속하는 작업 하나는 심층신경망(Deep neural network, DNN) 구현하고 훈련 시키는 것입니다. 이제 부터 심층합성곱NMIST분류기(deep convolutional NMIST classifier) 만들면서 TensorFlow 모델의 기본 빌딩블록 대해 배울 것입니다.
TensorFlow is a powerful library for doing large-scale numerical computation. One of the tasks at which it excels is implementing and training deep neural networks. In this tutorial we will learn the basic building blocks of a TensorFlow model while constructing a deep convolutional MNIST classifier.

교본은 독자가 NN MNIST데이터집합 익숙하다고 가정합니다. 관련된 배경 지식 없다면, 초보자용 소개(introduction for beginners) 읽어야 합니다. 시작 전에 TensorFlow 설치하세요.
This introduction assumes familiarity with neural networks and the MNIST dataset. If you don't have a background with them, check out the
introduction for beginners. Be sure to install TensorFlow before starting.

설정     Setup

모델을 만들기 전에 먼저 MNIST 데이터집합 불러온 다음 TensorFlow 세션을 시작 합니다.
Before we create our model, we will first load the MNIST dataset, and start a TensorFlow session.

MNIST 데이터 불러오기 Load MNIST Data

편의상, NMIST 데이터집합 자동으로 다운로드해서 import하는 스크립트 포함해 놓았습니다. 스크립트가 데이터 파일을 보관할MNIST_data' 디렉토리를 만듭니다.
For your convenience, we've included
a script which automatically downloads and imports the MNIST dataset. It will create a directory 'MNIST_data' in which to store the data files.

from tensorflow.examples.tutorials.mnist import input_data

mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

 

import input_data

mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

mnist 훈련용, 검증용, 테스팅용 데이터집합 NumPy배열 형태로 저장하는 가벼운 클래스 입니다. 또한, 데이터 미니배치(minibatch)들을 통해 반복 함수를 제공하는데, 미니배치 아래에서 사용됩니다.
Here mnist is a lightweight class which stores the training, validation, and testing sets as NumPy arrays. It also provides a function for iterating through data minibatches, which we will use below.

TensorFlow InteractiveSession 시작하기     Start TensorFlow InteractiveSession

TensorFlow 매우 효율적인 C++ 백엔드에서 계산합니다. 백엔드로의 연결 세션 (session) 이라고 합니다. TensorFlow 프로그램은 일반적으로 먼저 그래프 만든 세션 안에서 그래프 가동시킵니다.
Tensorflow relies on a highly efficient C++ backend to do its computation. The connection to this backend is called a session. The common usage for TensorFlow programs is to first create a graph and then launch it in a session.

여기서는 session대신 간편한 InteractiveSession클래스를 사용하는데, 클래스를 사용하면 TensorFlow에서 보다 유연하게 코드를 구성할 있습니다. 클래스로 계산 그래프 (computation graph) 작성ops 그래프 가동ops 교차배치(interleave) 있습니다. 이것은 IPython등과 같은 상호작용 방식으로 작업할 특히 유용합니다. 클래스를 사용하지 않는 경우에는, 세션을 시작하고 그래프를 가동시키기 전에 계산 그래프 미리 모두 만들어 놓아야 합니다.
Here we instead use the convenient InteractiveSession class, which makes TensorFlow more flexible about how you structure your code. It allows you to interleave operations which build a computation graph with ones that run the graph. This is particularly convenient when working in interactive contexts like IPython. If you are not using an InteractiveSession, then you should build the entire computation graph before starting a session and launching the graph.

import tensorflow as tf
sess = tf.InteractiveSession()

반응형

'TensorFlow' 카테고리의 다른 글

Deep MNIST (3)  (0) 2016.04.27
Deep MNIST (2)  (0) 2016.04.27
Feeds (13)  (0) 2016.03.31
Fetch (12)  (0) 2016.03.31
변수 Variables (11)  (0) 2016.03.31

댓글