モデル (古いモデル) の最後のレイヤーを取得し、古いモデルの最後のレイヤーとまったく同じパラメーターを持つ 1 つのレイヤー (新しいモデル) のみの新しいモデルを作成しようとしています。古いモデルの最後のレイヤーがどうなるかにとらわれない方法でこれを行いたいと思います。このコードで実行しようとしていますが、エラーが発生しています。
newModel = Sequential()
newModel.add(type(oldModel.layers[-1])(oldModel.layers[-1].output_shape,
activation=oldModel.layers[-1].activation,
input_shape=oldModel.layers[-1].input_shape))
次のエラーが発生します。
TypeError: __init__() missing 1 required positional argument: 'output_dim'
oldModel の最後のレイヤーを確認すると、次のように表示されます。
full_model.model.layers[-1]
>>>> <keras.layers.core.Dense at 0x7fe22010e128>
この方法でコピーしているパラメーターのリストに output_dim を追加しようとしましたが、それは役に立たなかったようです。私がそれをしたとき、代わりにこのエラーが発生しました:
Exception: Input 0 is incompatible with layer dense_8: expected ndim=2, found ndim=3
ここで何が間違っているのか分かりますか?