2017-03-16 4 views
1

Dans Keras 2, layer_from_config a été retiré de keras.utils.layer_utils. Est-ce que quelqu'un connaît un remplacement à cela.Copiez une couche d'un modèle CNN vers un autre. (layer_from_config ne fonctionnant pas dans ver 2)

Description détaillée: J'ai un modèle CNN qualifié. J'ai besoin de copier une couche de ce modèle à l'autre. Auparavant, je faisais les fonctions layer_from_config et set_weights. Mais ils sont supprimés dans Keras 2.0. Besoin d'aide pour faire cette fonctionnalité.

Merci

+0

définir un calque identique dans votre nouveau modèle et faire 'set_weights()'? –

Répondre

1

La fonction est une fonction de classe des couches de la classe (ce qui semble plus logique). Pareil pour set_weights. La façon de l'utiliser (the doc is up to date):

layer = Dense(32) 
config = layer.get_config() 
reconstructed_layer = Dense.from_config(config) 

Vous avez donc besoin de connaître le nom de la classe de la couche que vous voulez reconstruire. Ou vous pouvez construire un dictionnaire comme ci-dessous, qui contient le nom de la classe (de sorte que vous pouvez stocker la config quelque part pour reconstruire la couche dans un code vide):

from keras import layers 

config = layer.get_config() 
layer = layers.deserialize({'class_name':  layer.__class__.__name__, 
         'config': config}) 

Est-il utile?

+0

Merci! Ça marche. J'aurais dû regarder les docs. – hars