始める無料で始める

CNNモデルを作る

KerasでCNNモデルを作るのは、これまでこのコースで作ってきたモデルと比べても、それほど難しくありません。必要なのは畳み込み層を使うことだけです。

ここでは、MNIST 手書き数字データセットを分類する、浅い畳み込み model を作成します。オートエンコーダでノイズ除去したのと同じデータです。画像は 28 x 28 ピクセルで、白黒画像のためチャンネルは1つだけです。

それでは、この小さな畳み込みモデルを作っていきましょう!

この演習はコースの一部です

Kerasで学ぶIntroduction to Deep Learning

コースを見る

演習の手順

  • Conv2DFlatten レイヤーをインポートし、モデルを作成します。
  • 最初の畳み込み層を追加します。フィルターは32個、サイズは3x3、input_shape には対応する3次元のタプルを指定します。
  • 2つ目の畳み込み層を追加します。フィルターは16個、サイズは3x3、活性化関数はreluにします。
  • 直前の層の出力をフラット化して、一次元のベクトルにします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import the Conv2D and Flatten layers and instantiate model
from tensorflow.keras.____ import ____,____
model = ____

# Add a convolutional layer of 32 filters of size 3x3
model.add(Conv2D(____, kernel_size = ____, input_shape = (____, ____, 1), activation = 'relu'))

# Add a convolutional layer of 16 filters of size 3x3
model.add(____(____, ____ = ____, activation = ____))

# Flatten the previous layer output
model.add(____)

# Add as many outputs as classes with softmax activation
model.add(Dense(10, activation = 'softmax'))
コードを編集して実行