반응형
< Building_an_Artificial_Neural_Network >
Fashion-MNIST는 기계 학습 및 딥 러닝 연구를 위해 개발된 데이터셋 중 하나
<Fashion-MNIST의 특징>
- 카테고리: Fashion-MNIST는 10개의 카테고리로 구성되어 있습니다. 이 카테고리는 티셔츠, 바지, 스웨터, 드레스, 코트, 샌들, 셔츠, 운동화, 가방, 앵클 부츠 등의 의류와 액세서리를 포함합니다.
- 이미지 크기: 모든 이미지는 28x28 픽셀의 흑백 이미지로 구성되어 있습니다. 각 픽셀 값은 0부터 255까지의 정수로 표현됩니다.
- 데이터 분할: Fashion-MNIST는 60,000개의 훈련 이미지와 10,000개의 테스트 이미지로 구성되어 있습니다.
- Fashion-MNIST는 MNIST보다 조금 더 복잡하고 현실적인 문제를 모델링하기 위한 목적으로 설계됨.
- 따라서 Fashion-MNIST는 이미지 분류, 특히 의류 및 액세서리 분류 문제에 대한 알고리즘과 모델의 성능을 평가하는 데 사용된다.
이 데이터셋은 딥 러닝 모델의 성능 향상과 학습 알고리즘의 효율성을 검증하는 데 매우 유용하며, 다양한 신경망 아키텍처와 학습 기법을 실험하고 비교하는 데 사용된다.
Stage 1: Installing dependencies
# 설치되어있지 않다면 작업중인 가상환경에 tensorflow 설치 필요
pip install tensorflow
Stage 2: Import dependencies for the project
import numpy as np
import tensorflow as tf
from tensorflow.keras.datasets import fashion_mnist
Stage 3: Dataset preprocessing
# Loading the dataset
# 4개파일을 다운받아 보여준다.
fashion_mnist.load_data()
((array([[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
...,
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]]], dtype=uint8),
array([9, 0, 0, ..., 3, 0, 5], dtype=uint8)),
(array([[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
...,
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]]], dtype=uint8),
array([9, 2, 1, ..., 8, 1, 5], dtype=uint8)))
# 이 4개가 트레이닝용 2개 테스트용 2개 //변수로 저장할때는 약속된 형태이므로 꼭 이형태로 저장해주어야 한다.
(X_train, y_train) , (X_test, y_test) = fashion_mnist.load_data()
# 사진의 개수 , 행, 열
X_train.shape
(60000, 28, 28)
# 전체 사진 파일은 7만 => train 6만 test 1만
X_test.shape
(10000, 28, 28)
# 첫번째 이미지를 가져와보자
X_train[ 0 , : , : ]
# X_train의 0번째 데이터의 답은 y_train 0번째에 있다
# 답을 확인해 보면 9 앵클부츠
# https://github.com/zalandoresearch/fashion-mnist 메뉴얼 레이블 부분 참고
y_train[0]
9
# 두번째 이미지를 가져와보자
X_train[ 1 , : , : ]
# 메뉴얼 참고결과 0은 티셔츠
y_train[1]
0
# Image normalization
# 0과 1사이 값일때 학습이 용이하기 때문에 이미지 데이터도 피쳐 스케일링을 해야한다.
### 여기서 구지 스케일링 코드를 쓸필요없이 이미지 파일의 범위는 255개로 정해져 있기때문에 255로 나누면 자동으로 minmax 스케일링과 같은 효과를 가지는것 ###
X_train[0,:,:] / 255
array([[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0.00392157, 0. , 0. ,
0.05098039, 0.28627451, 0. , 0. , 0.00392157,
0.01568627, 0. , 0. , 0. , 0. ,
0.00392157, 0.00392157, 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0.01176471, 0. , 0.14117647,
0.53333333, 0.49803922, 0.24313725, 0.21176471, 0. ,
0. , 0. , 0.00392157, 0.01176471, 0.01568627,
0. , 0. , 0.01176471],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0.02352941, 0. , 0.4 ,
0.8 , 0.69019608, 0.5254902 , 0.56470588, 0.48235294,
0.09019608, 0. , 0. , 0. , 0. ,
0.04705882, 0.03921569, 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0.60784314,
0.9254902 , 0.81176471, 0.69803922, 0.41960784, 0.61176471,
0.63137255, 0.42745098, 0.25098039, 0.09019608, 0.30196078,
0.50980392, 0.28235294, 0.05882353],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0.00392157, 0. , 0.27058824, 0.81176471,
0.8745098 , 0.85490196, 0.84705882, 0.84705882, 0.63921569,
0.49803922, 0.4745098 , 0.47843137, 0.57254902, 0.55294118,
0.34509804, 0.6745098 , 0.25882353],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0.00392157,
0.00392157, 0.00392157, 0. , 0.78431373, 0.90980392,
0.90980392, 0.91372549, 0.89803922, 0.8745098 , 0.8745098 ,
0.84313725, 0.83529412, 0.64313725, 0.49803922, 0.48235294,
0.76862745, 0.89803922, 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0.71764706, 0.88235294,
0.84705882, 0.8745098 , 0.89411765, 0.92156863, 0.89019608,
0.87843137, 0.87058824, 0.87843137, 0.86666667, 0.8745098 ,
0.96078431, 0.67843137, 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0.75686275, 0.89411765,
0.85490196, 0.83529412, 0.77647059, 0.70588235, 0.83137255,
0.82352941, 0.82745098, 0.83529412, 0.8745098 , 0.8627451 ,
0.95294118, 0.79215686, 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0.00392157,
0.01176471, 0. , 0.04705882, 0.85882353, 0.8627451 ,
0.83137255, 0.85490196, 0.75294118, 0.6627451 , 0.89019608,
0.81568627, 0.85490196, 0.87843137, 0.83137255, 0.88627451,
0.77254902, 0.81960784, 0.20392157],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0.02352941, 0. , 0.38823529, 0.95686275, 0.87058824,
0.8627451 , 0.85490196, 0.79607843, 0.77647059, 0.86666667,
0.84313725, 0.83529412, 0.87058824, 0.8627451 , 0.96078431,
0.46666667, 0.65490196, 0.21960784],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0.01568627,
0. , 0. , 0.21568627, 0.9254902 , 0.89411765,
0.90196078, 0.89411765, 0.94117647, 0.90980392, 0.83529412,
0.85490196, 0.8745098 , 0.91764706, 0.85098039, 0.85098039,
0.81960784, 0.36078431, 0. ],
[0. , 0. , 0.00392157, 0.01568627, 0.02352941,
0.02745098, 0.00784314, 0. , 0. , 0. ,
0. , 0. , 0.92941176, 0.88627451, 0.85098039,
0.8745098 , 0.87058824, 0.85882353, 0.87058824, 0.86666667,
0.84705882, 0.8745098 , 0.89803922, 0.84313725, 0.85490196,
1. , 0.30196078, 0. ],
[0. , 0.01176471, 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0.24313725,
0.56862745, 0.8 , 0.89411765, 0.81176471, 0.83529412,
0.86666667, 0.85490196, 0.81568627, 0.82745098, 0.85490196,
0.87843137, 0.8745098 , 0.85882353, 0.84313725, 0.87843137,
0.95686275, 0.62352941, 0. ],
[0. , 0. , 0. , 0. , 0.07058824,
0.17254902, 0.32156863, 0.41960784, 0.74117647, 0.89411765,
0.8627451 , 0.87058824, 0.85098039, 0.88627451, 0.78431373,
0.80392157, 0.82745098, 0.90196078, 0.87843137, 0.91764706,
0.69019608, 0.7372549 , 0.98039216, 0.97254902, 0.91372549,
0.93333333, 0.84313725, 0. ],
[0. , 0.22352941, 0.73333333, 0.81568627, 0.87843137,
0.86666667, 0.87843137, 0.81568627, 0.8 , 0.83921569,
0.81568627, 0.81960784, 0.78431373, 0.62352941, 0.96078431,
0.75686275, 0.80784314, 0.8745098 , 1. , 1. ,
0.86666667, 0.91764706, 0.86666667, 0.82745098, 0.8627451 ,
0.90980392, 0.96470588, 0. ],
[0.01176471, 0.79215686, 0.89411765, 0.87843137, 0.86666667,
0.82745098, 0.82745098, 0.83921569, 0.80392157, 0.80392157,
0.80392157, 0.8627451 , 0.94117647, 0.31372549, 0.58823529,
1. , 0.89803922, 0.86666667, 0.7372549 , 0.60392157,
0.74901961, 0.82352941, 0.8 , 0.81960784, 0.87058824,
0.89411765, 0.88235294, 0. ],
[0.38431373, 0.91372549, 0.77647059, 0.82352941, 0.87058824,
0.89803922, 0.89803922, 0.91764706, 0.97647059, 0.8627451 ,
0.76078431, 0.84313725, 0.85098039, 0.94509804, 0.25490196,
0.28627451, 0.41568627, 0.45882353, 0.65882353, 0.85882353,
0.86666667, 0.84313725, 0.85098039, 0.8745098 , 0.8745098 ,
0.87843137, 0.89803922, 0.11372549],
[0.29411765, 0.8 , 0.83137255, 0.8 , 0.75686275,
0.80392157, 0.82745098, 0.88235294, 0.84705882, 0.7254902 ,
0.77254902, 0.80784314, 0.77647059, 0.83529412, 0.94117647,
0.76470588, 0.89019608, 0.96078431, 0.9372549 , 0.8745098 ,
0.85490196, 0.83137255, 0.81960784, 0.87058824, 0.8627451 ,
0.86666667, 0.90196078, 0.2627451 ],
[0.18823529, 0.79607843, 0.71764706, 0.76078431, 0.83529412,
0.77254902, 0.7254902 , 0.74509804, 0.76078431, 0.75294118,
0.79215686, 0.83921569, 0.85882353, 0.86666667, 0.8627451 ,
0.9254902 , 0.88235294, 0.84705882, 0.78039216, 0.80784314,
0.72941176, 0.70980392, 0.69411765, 0.6745098 , 0.70980392,
0.80392157, 0.80784314, 0.45098039],
[0. , 0.47843137, 0.85882353, 0.75686275, 0.70196078,
0.67058824, 0.71764706, 0.76862745, 0.8 , 0.82352941,
0.83529412, 0.81176471, 0.82745098, 0.82352941, 0.78431373,
0.76862745, 0.76078431, 0.74901961, 0.76470588, 0.74901961,
0.77647059, 0.75294118, 0.69019608, 0.61176471, 0.65490196,
0.69411765, 0.82352941, 0.36078431],
[0. , 0. , 0.29019608, 0.74117647, 0.83137255,
0.74901961, 0.68627451, 0.6745098 , 0.68627451, 0.70980392,
0.7254902 , 0.7372549 , 0.74117647, 0.7372549 , 0.75686275,
0.77647059, 0.8 , 0.81960784, 0.82352941, 0.82352941,
0.82745098, 0.7372549 , 0.7372549 , 0.76078431, 0.75294118,
0.84705882, 0.66666667, 0. ],
[0.00784314, 0. , 0. , 0. , 0.25882353,
0.78431373, 0.87058824, 0.92941176, 0.9372549 , 0.94901961,
0.96470588, 0.95294118, 0.95686275, 0.86666667, 0.8627451 ,
0.75686275, 0.74901961, 0.70196078, 0.71372549, 0.71372549,
0.70980392, 0.69019608, 0.65098039, 0.65882353, 0.38823529,
0.22745098, 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0.15686275, 0.23921569, 0.17254902,
0.28235294, 0.16078431, 0.1372549 , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ]])
# 이걸 전체에 적용하여 X_train으로 저장
X_train = X_train / 255
# test도 동일하게 적용
X_test = X_test / 255
다음 (2) 게시글로 학습과 예측 및 저장 진행
728x90
반응형
'DEEP LEARNING > Deep Learning Library' 카테고리의 다른 글
DL(딥러닝) : Augmentation로 학습된 AI Transfer Learning & Fine Tunning (2) | 2024.05.01 |
---|---|
DL(딥러닝) : 데이터 증강 (Augmentation) 학습 (0) | 2024.04.30 |
DL(딥러닝) : CNN (Conv2D, MaxPooling2D, Flatten, Dense) 필터링으로 정확도 높이기 (0) | 2024.04.30 |
DL(딥러닝) : Tensflow의 Fashion-MNIST 활용(DNN) (2) (0) | 2024.04.30 |
Deep Learning 개념 정리 (0) | 2024.04.16 |