RepeatVector レイヤーを理解する
ここでは RepeatVector レイヤーの動作を確認します。RepeatVector レイヤーは、データセットに次元を1つ追加します。たとえば、入力の形状が (batch size, input size) で、それを GRU レイヤーに渡したい場合、RepeatVector レイヤーを使って入力を (batch size, sequence length, input size) の形状を持つテンソルに変換できます。
この演習では、与えられた入力をあらかじめ決めた回数だけ繰り返すモデルを定義します。次に、そのモデルに numpy 配列を与え、モデルが出力をどのように変換するかを確認します。
この演習はコースの一部です
Kerasで学ぶMachine Translation
演習の手順
- 入力を
6回繰り返すRepeatVectorレイヤーを定義します。 - 入力レイヤーを受け取り、RepeatVector の出力を生成する
Modelを定義します。 - データが
[[0,1], [2,3]]のnumpy配列オブジェクトを定義します。 xを入力として与え、モデルの出力を予測します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from tensorflow.keras.layers import Input, RepeatVector
from tensorflow.keras.models import Model
import numpy as np
inp = Input(shape=(2,))
# Define a RepeatVector that repeats the input 6 times
rep = ____(____)(inp)
# Define a model
model = ____(____=____, ____=____)
# Define input x
x = ____.____([____,____])
# Get model prediction y
y = ____.____(____)
print('x.shape = ',x.shape,'\ny.shape = ',y.shape)