다시 기초부터 포스팅 하나당 신경망 하나를 포스팅하는 것은 쓰는 사람도 그걸 받아들이는 사람들 중에 비전공자는 힘들 수 있다. 이미 MNIST(손글씨)와 유사한 Fashion MNIST(패션 아이콘)를 분류하는 모델을 포스팅한 적이 있지만, 하나하나 디테일하게 설명하지 못한 아쉬움이 있다. 이번 포스팅부터는 좀 더 쉽게 설명하기 위해서 신경망을 하나하나 코딩할 때마다 해당되는 기술들에 대해서 별도의 포스팅을 작성하고 어떤 방법으로 이루어지는지 써보도록 한다. 그리고 성능을 올리기 위해서 어떻게 튜닝을 하는지 적어보도록 하겠다. train에 사용될 매개변수(parameter)들 import tensorflow as tf import numpy as np from tensorflow import keras ..
이전 포스팅에서는 classification 모델을 MNIST 데이터를 이용하여 분류를 해보았다. 그러나 많은 사람들이 데이터가 약간만 변형이 되어도 즉 틀이 다른 데이터를 어떻게 학습해야 되는지 헷갈려 할수가 있다. 해당 포스팅은 대표적인 데이터셋인 붓꽃(IRIS) 데이터셋을 기반으로 신경망을 수행하고 학습하여 테스트셋 아이리스 값의 정확도를 측정한다. 참고로 해당 포스팅은 연속적인 지식의 습득을 위해 이전 포스팅의 신경망 소스와 크게 다르지 않다. 데이터 구조 아이리스 데이터 구조... 47,5.1,3.8,1.6,0.2,Iris-setosa 48,4.6,3.2,1.4,0.2,Iris-setosa 49,5.3,3.7,1.5,0.2,Iris-setosa 50,5,3.3,1.4,0.2,Iris-setosa..
텐서플로우가 2.0 버전으로 들어서게 되면서, 많은 변화들이 생겨났다. 최근 프로젝트를 강제로 2.0으로 변환하고 있는데 아직 해당 버전에 대한 이해도가 낮기 때문에 많이 힘들어서 자구책으로 케라스(Keras)로 변환하여 사용하고 있다. 텐서플로우 2.0대부터는 케라스가 텐서플로우 프로젝트에 편입되었기 때문에 케라스로 구현하든 텐서플로우 2.0으로 코딩하든 사실 크게 상관이 없겠지만, 케라스의 쉬운 코딩은 소스의 길이를 대폭 감소하고 텐서플로우 2.0을 써도 크게 문제가 되지 않는 모델을 만들어준다. 우선 그러면 1.0과 2.0이 얼마나 차이가 나는지 한번 보도록 해보자. 아래 소스는 Packt 출판사에서 발매한 "Deep Learning with TensorFlow 2 and Keras"라는 도서에서 ..
텐서플로우라는 언어만 존재해서, 해당 언어만 딱 사용하면 좋겠지만, 이전에 텐서플로우 포스팅에 적은 것처럼 텐서플로우는 다른 언어에 낑겨서 사용되는 라이브러리(Library) 정도로 이해하면 된다. 독자적인 텐서플로우 언어가 있는 것이 아니라 다른 언어에서 텐서플로우 라이브러리를 호출하는 기능을 제공하는데 모델을 만들기 위해서는 파이썬이 있어야 한다. 사용은 파이썬과 자바 둘다 제공되지만 모델 생성은 파이썬이 필수이다(나중에 자바에서 모델 생성도 제공할지는 모르겠지만) 파이썬(Python) 설치 텐서플로우(Tensorflow)를 사용하기 위해서는 당연히 파이썬이 우선적으로 설치되어 있어야 한다. 파이썬만 설치 해도 되지만, 이왕이면 다량의 패키지를 가지고 있는 아나콘다를 설치하는 것을 권유드린다. 아직 ..