[Tensorflow] 18. Tensorflow 시작하기 – Convolutional Neural Networks (이미지 프로세싱)
이번에는 이미지를 인식하기 위해서 많이 사용되는 CNN 모델에 대해서 살펴보겠습니다. Deep CNN 튜토리얼 링크는 다음과 같습니다 (https://www.tensorflow.org/versions/master/tutorials/deep_cnn/index.html#convolutional-neural-networks) 튜토리얼 문서에서 ‘tensorflow/models/image/cifar10’ 로 되어 있는 링크에서 최신본의 전체 소스를 다운로드 할 수 있습니다. 다운로드 받으신 파일들중에서 ‘cifar10_train.py’ 파일을 실행하면 기초 데이터를 다운받고 학습을 진행하게 됩니다. 이번에는 많은 이미지들을 학습해야 하기 때문에 서버 사양에 따라 빠르면 4~5시간에서 많게는 […]
이번에는 tf.contrib.learn 에 있는 input functions를 생성하는 방법에 대해서 알아보겠습니다. input_fn을 사용하면 모델에 preprocess를 처리하거나 data를 feed 하는데 유용하게 사용할 수 있습니다. Custom Input Pipelines with input_fn tf.contrib.learn을 사용해서 neural network 학습을 진행할때 우리는 feature와 target data를 직접적으로 fit, evaluate, predict ops에 사용하였습니다. tf.contrib.learn quickstart 의 예제를 통해서 보았던 방법인데 이러한 접근방식은 source data가 완벽하여 추가 보정같은 것이 […]
이번에는 Tensorflow를 이용해서 모델을 학습하는 알고리즘을 구현할 때, Tensorflow의 로깅하는 기능과 모니터링 할때 사용하는 api에 대해서 알아보겠습니다. 이번 내용에서는 이전에서 다뤘던 tf.contrib.learn Quickstart 에서 사용했던 내용을 기반으로 합니다. 안보신 분들은 한번 읽어보시고 오시면 좋을 것 같습니다. 이 예제는 Iris 3개종 중에서 하나를 예측하는 내용입니다. 이를 위해서 Neural Net classifier 를 사용하여 학습을 하게 됩니다. 그런데 이 예제 […]
이번에는 또 다른 모델인 선형 모델과 DNN 모델을 합쳐놓은 모델에 대한 튜토리얼 예제를 살펴보도록 하겠습니다. 우선 선형모델에 대하여 장점과 필요성에 대해서 문서에 잘 나와있으니 한번쯤 읽어보시길 바랍니다. <텐서플로 코리아 선형모델 소개> 위에서 소개되어 있는 선형모델에 대하여 요약 정리하면, 선형 모델은 아주 간단하게 구현이 가능하고 학습하는 속도가 빠르기 때문에, 어떤 아이디어가 생기면 프로토타입형식으로 빠르고 간단하게 테스트를 […]
이번에는 Tensorflow 튜토리얼 예제중에서 매카니즘을 살펴보도록 하겠습니다. 이번 예제는 총 3개의 Layer로 구성되어 있는 Neural Network 기반의 예제입니다. 여기서는 NN을 구현하는 목적에 관련된 것이라니 보다는 Tensorflow를 활용해서 구현을 할때 어떤 방법으로 사용되면 좋은지에 대하여 살펴볼 수 있는 예제인 것 같습니다. 더불어 TensorBoard를 이용해서 그래프를 시각적으로 볼 수 있는 내용등이 포함되어 있습니다. 튜토리얼을 텐서플로 코리아에서 환글화를 […]
Tensorflow 에서는 알고리즘이 학습하는 과정을 시각화 하기 위한 툴을 제공하고 있습니다. 바로 TensorBoard 라고 하는 데이터를 시각화해서 그래프로 보기 좋게 표현해주는 툴입니다. <TensorFlow Mechanics 101 튜토리얼 예제> 튜토리얼 예제를 통해서 실행한 텐서보드 화면입니다. 이와 같이 학습하는 과정에서 발생하는 데이터를 로깅하고 그 데이터를 그래프로 볼 수 있어 아주 유용하게 사용됩니다. 텐서보드를 사용하기 위해서는 먼저 summary 객체를 […]
Tensorflow 에서 제공하는 flags 객체를 사용하면 고정값으로 되어 있는 기본적인 데이터를 편리하게 사용할 수 있습니다. flags 객체는 int, float, boolean, string 의 값을 저장하고, 가져다 사용하기 쉽게 해주는 기능을 합니다. 사용방법도 간단하고 텐서플로 튜토리얼에서도 사용되니 보시면 좋을 것 같습니다. <TensorFlow Mechanics 101 예제에서> flags = tf.app.flagsFLAGS = flags.FLAGSflags.DEFINE_float(‘learning_rate’, 0.01, ‘Initial learning rate.’)flags.DEFINE_integer(‘max_steps’, 2000, ‘Number of […]
Tensorflow의 데이터를 입력 받는 방법중에서 상수와 변수를 생성하는 방법을 앞에서 보았는데요 이번에는 데이터의 형태만 지정하고 실제 데이터는 실행 단계에서 입력받도록 하는 방법에 대해서 알아보겠습니다. 기본 제공되는 placeholder()를 이용해서 다양한 데이터를 입력 받아 처리할 수 있도록 할 수 있습니다. 실수형의 x, y을 선언하고 실제 실행이 되는 시점의 sess.run() 에서 feed_dict 속성으로 데이터를 feed 하여 사용하게 됩니다. […]
Tensorflow에서 Matrix 연산에 대해서 알아보겠습니다. 많은 데이터를 처리하기 위해서는 대부분의 경우에 데이터가 다차원의 Matrix로 구성이 됩니다. 이를 한번에 빠르게 연산을 하기 위해서는 Matrix 연산을 잘 다루어야 합니다. Tensorflow에서 기본적으로 제공해주는 연산 함수들에 대해서 알아보겠습니다. 1. 덧셈 : tf.add() import tensorflow as tf x = tf.Variable([[2, 2, 2],[2, 2, 2]]) y = tf.Variable([[3, 3, 3],[3, 3, […]
안녕하세요 이번에는 변수에 대해서 알아보도록 하겠습니다. 1.변수 생성 Tensorflow에서는 Variable() 이라는 생성자를 사용해서 변수를 생성할 수 있습니다. 이 변수는 생성되는 순간에 데이터의 타입과 크기가 결정이 됩니다. 아래와 같이 2.0의 실수 값을 생성하고 그 즉시 print를 해보면 object의 형태로만 보여지고 값이 출력이 되지 않습니다. 또, 이 변수들은 상수와는 다르게 특별히 초기화를 해주어야 합니다. tf.initialize_all_variables() 라는 op을 이용해서 위에 […]