Tensorflow obtiene todas las variables en el ámbito
Tengo algunas variables creadas dentro de un cierto ámbito como este:
with tf.variable_scope("my_scope"):
createSomeVariables()
...
Luego quiero obtener la lista de todas las variables en "my_scope" para poder pasarla a un optimizador. ¿Cuál es la manera correcta de hacer esto?
2 answers
Creo que quieres tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope= 'my_scope') . Esto obtendrá todas las variables en un ámbito.
Para pasar a un optimizador no desea todas las variables solo desea las variables entrenables. También se guardan en una colección predeterminada, que es tf.GraphKeys.TRAINABLE_VARIABLES
.
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
2017-11-17 20:07:32
El usuario señaló correctamente que necesita tf.get_collection()
. Voy a dar un ejemplo sencillo de cómo hacer esto:
import tensorflow as tf
with tf.name_scope('some_scope1'):
a = tf.Variable(1, 'a')
b = tf.Variable(2, 'b')
c = tf.Variable(3, 'c')
with tf.name_scope('some_scope2'):
d = tf.Variable(4, 'd')
e = tf.Variable(5, 'e')
f = tf.Variable(6, 'f')
h = tf.Variable(8, 'h')
for i in tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope='some_scope'):
print i # i.name if you want just a name
Observe que puede proporcionar cualquiera de las GraphKeys y scope es una expresión regular:
Alcance: (Opcional.) Si se suministra, la lista resultante se filtra a incluya solo elementos cuyo atributo name coincida con re.coincidir. Elemento sin un atributo name nunca se devuelven si se suministra un ámbito y la elección o re.coincidencia significa que un alcance sin fichas especiales filtros por prefijo.
Así que si pasas 'some_scope' obtendrás 6 variables.
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
2017-07-12 02:27:12