Comment obtenir le poids en tf.les couches.dense?
Je veux dessiner le poids de la tf.les couches.dense dans tensorboard histogramme, mais il s'affiche pas dans le paramètre, comment pourrais-je le faire?
Bienvenue sur Stackoverflow! Veuillez prendre le temps de lire les pages d'aide, en particulier les sections nommé "Quels sont les sujets que pouvez-vous nous parler ici?" et "Quels sont les types de questions devrais-je éviter de poser la question?". Aussi, veuillez prendre le tour et de lire sur comment poser de bonnes questions. Enfin s'il vous plaît apprendre comment créer un un Minimum, Complètes et Vérifiables Exemple.
OriginalL'auteur user8381550 | 2017-07-28
Vous devez vous connecter pour publier un commentaire.
Les poids sont ajoutés comme une variable nommée
kernel
, de sorte que vous pouvez utiliserVous pouvez bien évidemment remplacer
tf.get_default_graph()
par tout autre graphique, vous travaillez en.Et pour obtenir des préjugés suffit d'utiliser
bias = tf.get_default_graph().get_tensor_by_name( os.path.split(x.name)[0] + '/bias:0')
Semble que ce devrait être marqué comme résolu.
Il fait beaucoup plus de sens d'ajouter du noyau et de biais comme une propriété de x lui-même!
OriginalL'auteur P-Gn
Je suis tombé sur ce problème et vient d'être résolu.
tf.layers.dense
le nom n'est pas nécessaire d'être la même chose avec le noyau du nom du préfixe. Mon tenseur est "dense_2/xxx", mais c'est le noyau est "dense_1/kernel:0". Pour s'assurer quetf.get_variable
fonctionne, vous feriez mieux de mettre laname=xxx
dans letf.layers.dense
fonction de faire deux noms de posséder même préfixe. Il fonctionne comme la démonstration ci-dessous:Par le chemin, mon tf version 1.3.
OriginalL'auteur Yerrick
La dernière tensorflow couches api crée de toutes les variables à l'aide de la
tf.get_variable
appel. Cela garantit que si vous souhaitez utiliser la variable de nouveau, vous pouvez simplement utiliser letf.get_variable
fonction et fournir le nom de la variable que vous souhaitez obtenir.Dans le cas d'un
tf.layers.dense
, la création de la variable:layer_name/kernel
. Ainsi, vous pouvez obtenir la variable en disant:[Edit]: La nouvelle version de Tensorflow maintenant a la fois Fonctionnelle et Orientée Objet interfaces pour les couches de l'api. Si vous avez besoin de couches uniquement pour les fins de calcul, puis à l'aide de la fonctionnelle de l'api est un bon choix. La fonction des noms de commencer avec de petites lettres, par exemple ->
tf.layers.dense(...)
. Les Objets de la Couche peuvent être créés à l'aide de la première capitale des lettres par exemple ->tf.layers.Dense(...)
. Une fois que vous avez une poignée de cette couche de l'objet, vous pouvez utiliser toutes ses fonctionnalités. Pour l'obtention du poids, il suffit d'utiliserobj.trainable_weights
cela renvoie une liste de tous les éducables variables trouvées dans la couche portée.OriginalL'auteur Animesh Karnewar
Je suis fou avec tensorflow.
Je l'exécute:
sess.run(x.kernel)
après l'entraînement, et je reçois le poids.
Vient de l'propriétés décrites ici.
Je suis en train de dire que je suis fou parce qu'il semble qu'il y a un million de façons légèrement différentes de faire quelque chose en tf, et que les fragments les tutoriels.
OriginalL'auteur mic
Est-il quelque chose de mal avec
Après j'ai créer un modèle, le compiler et l'exécuter ajustement, cette fonction renvoie un tableau numpy du poids pour moi.
OriginalL'auteur Matt Cremeens