Keras 2.x - Obtenir des poids de la couche
Je suis avec Windows 10, Python 3.5, et tensorflow 1.1.0. J'ai le script suivant:
import tensorflow as tf
import tensorflow.contrib.keras.api.keras.backend as K
from tensorflow.contrib.keras.api.keras.layers import Dense
tf.reset_default_graph()
init = tf.global_variables_initializer()
sess = tf.Session()
K.set_session(sess) # Keras will use this sesssion to initialize all variables
input_x = tf.placeholder(tf.float32, [None, 10], name='input_x')
dense1 = Dense(10, activation='relu')(input_x)
sess.run(init)
dense1.get_weights()
J'obtiens l'erreur: AttributeError: 'Tensor' object has no attribute 'weights'
Ce que je fais mal, et comment puis-je obtenir le poids de dense1
? J'ai regarde cette et cette DONC post, mais je ne peut toujours pas faire le travail.
OriginalL'auteur Toke Faurby | 2017-05-01
Vous devez vous connecter pour publier un commentaire.
Si vous écrivez:
dense1 = Dense(10, activation='relu')(input_x)
Puis
dense1
n'est pas une couche, c'est la sortie d'un calque. La couche estDense(10, activation='relu')
De sorte qu'il semble vous dire:
Voici une extrait de:
y=dense2(dense1(input_x))
Merci pour cette explication. De clarté.
OriginalL'auteur Francois
Si vous voulez obtenir les poids et les biais de toutes les couches, vous pouvez simplement utiliser:
Cela permettra d'imprimer toutes les informations utiles.
Si vous voulez que le poids est directement rentré comme numpy tableaux, vous pouvez utiliser:
etc.
OriginalL'auteur Onno Kampman