学習済みモデルと推論モデルのつながり
ここでは、学習済みモデルから推論モデルへ重みを転送します。エンコーダ・デコーダモデルにはパラメータを持つレイヤーが3つあります。
- エンコーダの
GRUレイヤー - デコーダの
GRUレイヤー - デコーダの
Denseレイヤー
TimeDistributed のような他のレイヤーにはパラメータがないため、重みのコピーは不要です。
この演習では、学習済みのエンコーダ GRU レイヤー(tr_en_gru)、学習済みのデコーダ GRU(tr_de_gru)、学習済みの Dense レイヤー(tr_de_dense)が提供されています。さらに、推論モデル(エンコーダを含む)のすべてのレイヤー、すなわちエンコーダの GRU レイヤー(en_gru)、デコーダの GRU(de_gru)、Dense レイヤー(de_dense)にもアクセスできます。
この演習はコースの一部です
Kerasで学ぶMachine Translation
演習の手順
- 学習済みエンコーダ
GRUレイヤーの重みを読み込みます。 - 推論モデル側のエンコーダ
GRUレイヤーに重みを設定します。 - 学習済みのデコーダ
GRUレイヤーの重みを読み込み、推論モデルに設定します。 - 学習済みのデコーダ
Denseレイヤーの重みを読み込み、推論モデルに設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Load the weights to the encoder GRU from the trained model
en_gru_w = ____.get_weights()
# Set the weights of the encoder GRU of the inference model
en_gru.____(____)
# Load and set the weights to the decoder GRU
de_gru.____(tr_de_gru.____)
# Load and set the weights to the decoder Dense
____.set_weights(____.____)