Tensorflow-keras

提供:Dev Guides
移動先:案内検索

TensorFlow-ケラス

Kerasは、TensorFlowフレームワーク上で実行されるコンパクトで習得しやすい高レベルPythonライブラリです。 これは、形状や数学的詳細の概念を維持するニューラルネットワークのレイヤーの作成など、ディープラーニング技術の理解に重点を置いて作成されています。 フレームワークの作成は、次の2つのタイプにすることができます-

  • シーケンシャルAPI
  • 機能的なAPI

Kerasでディープラーニングモデルを作成するには、次の8つのステップを検討してください-

  • データの読み込み
  • ロードされたデータを前処理する
  • モデルの定義
  • モデルのコンパイル
  • 指定されたモデルに適合
  • 評価する
  • 必要な予測を行う
  • モデルを保存する

以下に示すように、出力の実行と表示にJupyter Notebookを使用します-

  • ステップ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)

このステップは「ライブラリとモジュールのインポート」として定義できます。つまり、すべてのライブラリとモジュールが初期ステップとしてインポートされます。

  • ステップ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'))
  • ステップ3 *-指定したモデルをコンパイルしましょう-
model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
  • ステップ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