J'ai une liste de tenseurs de keras, et pour chacun d'eux, je donne un nom avec le paramètre name
.
Par exemple, je veux nommer BatchNormalization layer
comme "a"
:
print(layer.name) >>> a_2/cond/Merge:0
Mais quand j'essaye de récupérer le nom que j'ai donné à le niveau, il ressemble à ceci:
layer = BatchNormalization(axis=3, name="a")(input)
Comment puis-je récupérer le nom exact que j'ai donné à mon objet layer
( "a "
pour cet exemple)?
3 Réponses :
Vous pouvez faire
model.get_layer('a').name
Cela affichera une liste de tous les noms de couches. Ou il peut être récupéré à partir du modèle.
[layer.name for layer in model.layers]
la question porte sur le changement de nom lors de la réexécution du code. Comme indiqué dans la question, evaleria sait comment obtenir le nom d'une couche.
@Alexis, pourriez-vous clarifier votre commentaire et voter contre? Ça n'a rien à voir avec re run, n'est-ce pas
Séparons cette ligne en deux lignes:
layer.name
Maintenant, si vous avez essayé de sortir
layer = BatchNormalization(axis=3, name="a") node = layer(input)
ce sera "a".
Ce que vous essayiez de faire est de sortir le nom du tenseur de sortie de cette couche batchnorm qui est fondamentalement un tenseur tensorflow qui résulte de cette opération de fusion.
Donc, pour ce faire, vous Vous devez le faire sur le calque comme indiqué ci-dessus ou faire un traitement sur le nom de l'opération car il contiendra toujours le nom du calque.
Je sais que la question a été répondue, mais la mise à jour de la question a effacé un problème que l'auteur avait signalé, alors j'écrirai quand même ma réponse pour les personnes qui viendront ensuite. (qui sera dense ici):
>>> l = Dense(20,activation='softmax',name='a')(l) >>> l.name a_2/Softmax:0
si j'exécute ce code dans la même console, j'obtiens les mêmes résultats. Cependant lorsque j'exécute le code de la question:
>>> l = Dense(20,activation='softmax',name='a')(inputs) >>> l.name a_1/Softmax:0
et lorsque j'exécute le code:
>>> l = Dense(20,activation='softmax',name='a')(inputs) >>> l.name a/Softmax:0