始める無料で始める

テキスト生成モデルの作成

この演習では、Keras を使ってテキスト生成モデルを定義します。

語彙数を含む変数 n_vocab と、学習に用いるデータの形状を含む変数 input_shape はすでに環境に読み込まれています。さらに、事前学習済みモデルの重みはファイル model_weights.h5 に用意されています。モデルは学習データで 40 エポック学習済みです。Keras でモデルを学習するには、学習データ (X, y) に対して .fit() メソッドを使い、epochs パラメータを指定します。たとえば次のとおりです。

model.fit(X_train, y_train, epochs=40)

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

Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)

コースを見る

演習の手順

  • シーケンスを返す LSTM レイヤーを 1 つ追加します。
  • シーケンスを返さない LSTM レイヤーを 1 つ追加します。
  • 出力レイヤーを n_vocab ユニットで追加します。
  • モデルのサマリーを表示します。

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

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

# Instantiate the model
model = Sequential(name="LSTM model")

# Add two LSTM layers
model.add(____(64, input_shape=input_shape, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="Input_layer"))
model.add(____(64, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="LSTM_hidden"))

# Add the output layer
model.add(Dense(____, activation='softmax', name="Output_layer"))

# Compile and load weights
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.load_weights('model_weights.h5')
# Summary
model.____
コードを編集して実行