Keras のシーケンシャルモデル
第3章では、tensorflow の中の keras API を使ってニューラルネットワークを定義しましたが、モデル定義と学習をより効率化するための機能を十分には活用しませんでした。この演習では、keras のシーケンシャルモデル API を使って、手話のアルファベット画像を分類できるニューラルネットワークを定義します。また、各レイヤーの形状やパラメータ数など、モデルのアーキテクチャを出力するために .summary() メソッドも使用します。
なお、画像は (28, 28) から (784,) にリシェイプされており、Dense レイヤーの入力として使えるようになっています。さらに、keras は tensorflow からすでにインポート済みです。
この演習はコースの一部です
Introduction to TensorFlow in Python
演習の手順
modelという名前のkerasシーケンシャルモデルを定義します。- 最初のレイヤーは
Dense()とし、ノード数を16、活性化関数をreluに設定します。 - 2つ目のレイヤーも
Dense()とし、ノード数を8、活性化関数をreluに設定します。 - 出力レイヤーはノード数を4にし、活性化関数として
softmaxを使います。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define a Keras sequential model
____
# Define the first dense layer
model.add(keras.layers.____(____, activation='____', input_shape=(784,)))
# Define the second dense layer
____
# Define the output layer
model.add(keras.layers.Dense(____))
# Print the model architecture
print(model.summary())