J'essaie de prendre la dernière couche d'un modèle (ancien modèle) et de faire un nouveau modèle d'une seule couche (nouveau modèle) qui a exactement les mêmes paramètres que la dernière couche de l'ancien modèle. Je veux le faire d'une manière agnostique à ce que la dernière couche de l'ancien modèle se trouve être. J'essaye de le faire avec ce code, mais je reçois une erreur.Copie des paramètres d'une couche dans Keras
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))
Cela donne l'erreur suivante:
TypeError: __init__() missing 1 required positional argument: 'output_dim'
Si je vérifie la dernière couche oldModel, il me montre ceci:
full_model.model.layers[-1]
>>>> <keras.layers.core.Dense at 0x7fe22010e128>
J'ai essayé d'ajouter output_dim à la liste des paramètres Je copie de cette façon, mais cela n'a pas semblé aider. Il m'a donné cette erreur au lieu quand je l'ai fait:
Exception: Input 0 is incompatible with layer dense_8: expected ndim=2, found ndim=3
Toute idée de ce que je fais mal ici?