J'utilise Keras pour faire les travaux de modélisation et je me demande s'il est possible d'enlever certaines couches par index ou par nom? Actuellement, je ne sais que le model.pop()
pourrait faire ce travail, mais il supprime simplement les couches les plus récemment ajoutées. En outre, layers
est le type de tensorvariable
et je n'ai aucune idée comment enlever certains élément qui peut être fait dans numpy array
ou list
. BTW J'utilise le backend Theano.Keras enlever des couches après model.fit()
2
A
Répondre
1
Il est correct que model.pop() ne supprime que la dernière couche ajoutée et qu'il n'existe aucune autre méthode documentée pour supprimer les couches intermédiaires.
Vous pouvez toujours obtenir la sortie d'une couche intermédiaire comme ceci:
base_model = VGG19(weights='imagenet')
model = Model(inputs=base_model.input, outputs=base_model.get_layer('block4_pool').output)
Exemple tiré ici: https://keras.io/applications/
que d'ajouter vos nouvelles couches au-dessus de cela.
Pouvez-vous élaborer sur la deuxième partie de la question concernant 'layers' et' tensorvariable'? Merci d'avance. – petezurich