텐서플로우 튜토리얼(https://www.tensorflow.org/tutorials/quickstart/beginner) 한국어 번역 문서입니다.
텐서플로우 2 입문 튜토리얼
케라스를 사용한 짧은 소개
- 이미지를 분류하는 뉴럴 네트워크(neural network)를 빌드합니다.
- 빌드된 뉴럴 네트워크를 이용해 학습(Train)을 진행합니다.
- 마지막으로, 모델의 정확도(accuracy)를 평가합니다.
Google Colaboratory에 노트북 파일이 있습니다. 이 사이트는 파이썬 노트북 파이을 브라우저에서 바로 실행해 볼 수 있어 텐서플로우를 이해하는데 도움을 줍니다. 튜토리얼을 진행해 보겠습니다.
- Colab에서 파이썬 런타임에 접속합니다. 메뉴바의 오른쪽에 위치한
CONNECT
을 선택합니다. - 메뉴에서
Runtime > Run all
을 선택합니다.
텐서플로우 패키지 설치와 임포트
텐서플로우 2 패키지를 다운로드 받고 설치를 진행하고, 텐서플로우를 프로그램으로 임포트합니다.
from __future__ import absolute_import, division, print_function, unicode_literals
# Install TensorFlow
import tensorflow as tf
데이터 준비
MNIST dataset 로드하고 정수형(integers)을 실수형 포인트 숫자(floating-point numbers)로 변환한 예제를 준비합니다.
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
모델 빌드
레이어를 쌓음으로서 tf.keras.Sequential
모델을 빌드합니다. 옵티마이저와 손실 함수(loss function)을 선택합니다.
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
모델 학습과 평가
모델 학습과 평가를 진행합니다.
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
Train on 60000 samples
Epoch 1/5
60000/60000 [==============================] - 5s 89us/sample - loss: 0.2990 - accuracy: 0.9134
Epoch 2/5
60000/60000 [==============================] - 4s 66us/sample - loss: 0.1419 - accuracy: 0.9582
Epoch 3/5
60000/60000 [==============================] - 4s 66us/sample - loss: 0.1074 - accuracy: 0.9677
Epoch 4/5
60000/60000 [==============================] - 4s 67us/sample - loss: 0.0883 - accuracy: 0.9729
Epoch 5/5
60000/60000 [==============================] - 4s 67us/sample - loss: 0.0746 - accuracy: 0.9771
10000/1 - 1s - loss: 0.0392 - accuracy: 0.9781
[0.07525769539596514, 0.9781]
이미지 분류기(image classifier)는 98% 정확도 까지 학습되었습니다. 보다 자세한 내용은 텐서플로우 튜토리얼에서 확인 할 수 있습니다.