텐서플로우 자격증 준비를 위한 공부를 하려고 합니다.
시험 문제 유형은 아래와 같으며 coursera와 udacity 강의를 보고 준비하려고 합니다.
- Category 1: Basic / Simple model
- Category 2: Model from learning dataset
- Category 3: Convolutional Neural Network with real-world image dataset
- Category 4: NLP Text Classification with real-world text dataset
- Category 5: Sequence Model with real-world numeric dataset
www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187
www.coursera.org/learn/introduction-tensorflow/home/welcome
Category 2: Model from learning dataset
Fashion MNIST 데이터를 이용해서 간단한 모델을 만들고 학습을 시키려고 합니다. 아래는 MNIST 데이터의 Label과 Class에대한 설명입니다.
먼저 필요한 패키지를 import합니다.
x_train : 총 60000개의 28×28 크기의 이미지
y_train : x_train의 60000개에 대한 값(0~9)이 담겨있는 레이블 데이터셋
x=x_test,y_test 각각 10000개의 이미지와 레이블 데이터 셋
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train = x_train / 255.0
x_test = x_test / 255.0
간단한 신경망 모델을 만들어보았다. 총 3개의 레이어로 이루어져 있는데 1번째 레이어는 1차원 테서로 펼치는 것이고 2번째 레이어는 1번째 레이어에서 제공되는 값인 784개의 값을 입력받아 128개로 인코딩 해주는데 활성화 함수로 ReLU 함수를 사용하였습니다. 4번째 레이어에는 총 10개의 값을 출력하는데 여기서 활성화 함수는 Softmax를 사용하였습니다. Softmax를 이용한 것은 다중분류를 위한 확률값으로 해석할 수 있도록 하기 위해서입니다.
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation=tf.nn.relu),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.summary()
정의된 모델을 학습하기 위해서 컴파일 합니다.
역전파를 통한 가중치 최적화를 위한 기울기 방향에 대한 경사하강을 위한 방법으로 Adam 옵티마이저를 이용하였고 손실함수로 다중 분류의 Cross Entropy Error인 sparse_categorical_crossentropy를 이용하였습니다. 모델 평가를 위한 평가지표로는 accuracy를 지정하였습니다.
Epoch은 전체 데이터셋에 대해서 한번 학습할때의 단위로 모델의 반복횟수로는 5 Epoch를 지정하였습니다.
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
history = model.fit(
x_train,
y_train,
epochs=10
)
모델 평가 결과 0.0944의 손실값과 0.9761의 정확도를 얻었습니다.
model.evaluate(x_test, y_test, verbose=2)
'Data Analysis > Tensorflow' 카테고리의 다른 글
[tensorflow] sarcasm (0) | 2021.01.03 |
---|---|
[tensorflow] horses_or_humans (2) | 2021.01.02 |
[tensorflow] Basic / Simple model (0) | 2020.12.30 |
[tensorflow] pycharm 설치 및 환경설정 (0) | 2020.12.18 |
[tensorflow2][CNN] 영상 자동 모자이크 시스템 (0) | 2020.07.23 |