[SWTT] Tensorflow와 Keras: MNIST 시작하기
Tensorflow와 Keras는 머신 러닝 및 딥 러닝을 위한 라이브러리로서 매우 인기 있는 프레임워크입니다. 이들을 사용하여 MNIST 데이터셋을 이용한 숫자 인식 모델을 만들어 보겠습니다.
Step 1: 데이터 불러오기
먼저 Tensorflow에서 제공하는 MNIST 데이터를 불러옵니다.
<code> import tensorflow as tf from tensorflow.keras.datasets import mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() </code>
Step 2: 데이터 전처리
데이터를 0과 1 사이의 값으로 정규화하고, 이미지 데이터를 28×28 크기로 reshape합니다.
<code> x_train = x_train / 255.0 x_test = x_test / 255.0 x_train = x_train.reshape(-1, 28, 28, 1) x_test = x_test.reshape(-1, 28, 28, 1) </code>
Step 3: 모델 구성
Keras를 사용하여 간단한 컨볼루션 신경망(CNN) 모델을 구성합니다.
<code> model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28, 28, 1)), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Flatten(), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dense(10, activation='softmax') ]) </code>
Step 4: 모델 컴파일 및 학습
모델을 컴파일하고 훈련 데이터를 이용하여 모델을 학습시킵니다.
<code> model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) </code>
Step 5: 모델 평가
테스트 데이터를 이용하여 모델을 평가합니다.
<code> test_loss, test_acc = model.evaluate(x_test, y_test) print("Test accuracy:", test_acc) </code>
이제 Tensorflow와 Keras를 사용하여 MNIST 데이터셋을 이용한 숫자 인식 모델을 만들어 보았습니다. 더 많은 머신 러닝과 딥 러닝 프로젝트를 통해 실력을 향상시켜보세요!