본문 바로가기
카테고리 없음

실제 이미지 분류 딥러닝 모델 따라 하기 – TensorFlow 실습 예제

by 마루.T 2025. 3. 26.

 

딥러닝의 대표적인 응용 분야 중 하나는 이미지 분류입니다. 이번 글에서는 TensorFlow와 Keras를 사용하여 간단한 이미지 분류 모델을 구현하는 과정을 소개합니다. 입문자도 쉽게 따라할 수 있도록 단계별로 설명드리겠습니다.

1. 준비하기

필요한 라이브러리를 설치합니다.

pip install tensorflow matplotlib

2. 데이터 불러오기: MNIST 데이터셋 사용

TensorFlow는 손글씨 숫자 이미지 데이터셋인 MNIST를 기본으로 제공합니다. 총 7만 개의 흑백 이미지(0~9 숫자)로 구성되어 있습니다.

import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
from tensorflow.keras.utils import to_categorical

# 데이터 불러오기
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 정규화 및 원-핫 인코딩
x_train = x_train / 255.0
x_test = x_test / 255.0
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

3. 모델 구성 및 학습

model = Sequential([
    Flatten(input_shape=(28, 28)),
    Dense(128, activation='relu'),
    Dense(10, activation='softmax')
])

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_split=0.2)

4. 모델 평가 및 예측

loss, acc = model.evaluate(x_test, y_test)
print("테스트 정확도:", acc)

5. 결과 해석 및 활용

  • 5 에폭만 학습해도 약 97% 이상의 정확도를 얻을 수 있습니다.
  • 간단한 구조지만 이미지 분류의 핵심 흐름을 익히기에 적절합니다.
  • 향후 CNN(합성곱 신경망)으로 확장 가능

마무리

이 글에서는 TensorFlow를 사용하여 이미지 분류 모델을 처음부터 끝까지 실습해 보았습니다. MNIST는 딥러닝 입문자에게 매우 적합한 데이터셋으로, 이 구조를 기반으로 다른 이미지 데이터로 실험을 확장해 볼 수 있습니다.

 

함께 보면 좋은 글

2025.03.24 - [분류 전체보기] - 파이썬으로 데이터 전처리 기초 배우기 – 입문자를 위한 실습 가이드