Obtenir la valeur de quelques poids dans un modèle formé par TensorFlow
j'ai formé un modèle ConvNet avec TensorFlow, et je veux obtenir un poids particulier dans la couche. Par exemple, dans torch7 je voudrais simplement accéder à model.modules[2].weights
. pour obtenir le poids de la couche 2. Comment ferais-je la même chose à TensorFlow?
1 réponses
dans TensorFlow, les poids entraînés sont représentés par tf.Variable
objets. Si vous avez créé un tf.Variable
-par exemple appelé v
-vous-même, vous pouvez obtenir sa valeur en tant que numpy array en appelant sess.run(v)
(où sess
est un tf.Session
).
si vous n'avez pas de pointeur sur le tf.Variable
, Vous pouvez obtenir une liste des variables à former dans le graphe actuel en appelant tf.trainable_variables()
. Cette fonction renvoie une liste de tous les éducables tf.Variable
objets dans le graphique courant, et vous pouvez sélectionner celui que vous voulez en faisant correspondre le v.name
propriété. Par exemple:
# Desired variable is called "tower_2/filter:0".
var = [v for v in tf.trainable_variables() if v.name == "tower_2/filter:0"][0]