TensorFlow-케 라스

Keras는 TensorFlow 프레임 워크에서 실행되는 작고 배우기 쉬운 고수준 Python 라이브러리입니다. 모양과 수학적 세부 사항의 개념을 유지하는 신경망을위한 레이어를 만드는 것과 같은 딥 러닝 기술을 이해하는 데 중점을 두었습니다. freamework의 생성은 다음 두 가지 유형이 있습니다.

  • 순차 API
  • 기능성 API

Keras에서 딥 러닝 모델을 생성하려면 다음 8 단계를 고려하십시오.

  • 데이터로드
  • 로드 된 데이터 전처리
  • 모델의 정의
  • 모델 컴파일
  • 지정된 모델에 적합
  • 평가
  • 필요한 예측을합니다.
  • 모델 저장

아래와 같이 출력을 실행하고 표시하기 위해 Jupyter Notebook을 사용합니다.

Step 1 − 데이터로드 및로드 된 데이터 전처리를 먼저 구현하여 딥 러닝 모델을 실행합니다.

import warnings
warnings.filterwarnings('ignore')

import numpy as np
np.random.seed(123) # for reproducibility

from keras.models import Sequential
from keras.layers import Flatten, MaxPool2D, Conv2D, Dense, Reshape, Dropout
from keras.utils import np_utils
Using TensorFlow backend.
from keras.datasets import mnist

# Load pre-shuffled MNIST data into train and test sets
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(X_train.shape[0], 28, 28, 1)
X_test = X_test.reshape(X_test.shape[0], 28, 28, 1)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
Y_train = np_utils.to_categorical(y_train, 10)
Y_test = np_utils.to_categorical(y_test, 10)

이 단계는 "라이브러리 및 모듈 가져 오기"로 정의 할 수 있습니다. 즉, 모든 라이브러리와 모듈을 초기 단계로 가져옵니다.

Step 2 −이 단계에서는 모델 아키텍처를 정의합니다 −

model = Sequential()
model.add(Conv2D(32, 3, 3, activation = 'relu', input_shape = (28,28,1)))
model.add(Conv2D(32, 3, 3, activation = 'relu'))
model.add(MaxPool2D(pool_size = (2,2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation = 'relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation = 'softmax'))

Step 3 − 이제 지정된 모델을 컴파일 해 보겠습니다. −

model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])

Step 4 − 이제 학습 데이터를 사용하여 모델을 피팅합니다 −

model.fit(X_train, Y_train, batch_size = 32, epochs = 10, verbose = 1)

생성 된 반복의 출력은 다음과 같습니다.

Epoch 1/10 60000/60000 [==============================] - 65s - 
loss: 0.2124 - 
acc: 0.9345 
Epoch 2/10 60000/60000 [==============================] - 62s - 
loss: 0.0893 - 
acc: 0.9740 
Epoch 3/10 60000/60000 [==============================] - 58s - 
loss: 0.0665 - 
acc: 0.9802 
Epoch 4/10 60000/60000 [==============================] - 62s - 
loss: 0.0571 - 
acc: 0.9830 
Epoch 5/10 60000/60000 [==============================] - 62s - 
loss: 0.0474 - 
acc: 0.9855 
Epoch 6/10 60000/60000 [==============================] - 59s -
loss: 0.0416 - 
acc: 0.9871 
Epoch 7/10 60000/60000 [==============================] - 61s - 
loss: 0.0380 - 
acc: 0.9877 
Epoch 8/10 60000/60000 [==============================] - 63s - 
loss: 0.0333 - 
acc: 0.9895 
Epoch 9/10 60000/60000 [==============================] - 64s - 
loss: 0.0325 - 
acc: 0.9898 
Epoch 10/10 60000/60000 [==============================] - 60s - 
loss: 0.0284 - 
acc: 0.9910