Obtener el valor de algunas pesas en un modelo entrenado por TensorFlow
He entrenado un modelo ConvNet con TensorFlow, y quiero obtener un peso particular en layer. Por ejemplo, en torch7 simplemente accedería a model.modules[2].weights
. para obtener los pesos de la capa 2. ¿Cómo haría yo lo mismo en TensorFlow?
1 answers
En TensorFlow, los pesos entrenados están representados por tf.Variable
objetos. Si ha creado un tf.Variable
-por ejemplo, llamado v
-usted mismo, puede obtener su valor como una matriz NumPy llamando sess.run(v)
(donde sess
es un tf.Session
).
Si actualmente no tiene un puntero a tf.Variable
, puede obtener una lista de las variables entrenables en el gráfico actual llamando tf.trainable_variables()
. Esta función devuelve una lista de todos los objetos entrenables tf.Variable
en el gráfico actual, y puede seleccione el que desee haciendo coincidir la propiedad v.name
. Por ejemplo:
# Desired variable is called "tower_2/filter:0".
var = [v for v in tf.trainable_variables() if v.name == "tower_2/filter:0"][0]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-24 05:13:23