今回はKerasで中間の層を分割するモデルの作成方法についてお話します。
目標としては下の図のようにすることです。
元のモデル
まずは元のモデルを作成します。
中間層を分割したモデル
Keras のLambdaを用いて構成します。
上記のコードによって、以下のようなモデルになります。
7行目のLambdaについて少し説明します。
x1_1 = Lambda(lambda x:x[:,:5],output_shape=(5,))(inputs)
上記のLambdaではinputs層のoutputを引数xとしています。
そして、lambdaの中でxの前半部分をx[:, :5]を入力として受け取っています。
ちなみに、x[:, :5]の前半の[:] はバッチ用ですので、必ずつけなければなりません。
参考文献
https://keras.io/getting-started/functional-api-guide/
https://qiita.com/Mco7777/items/158296ed7f66aed2ffc3
コメント