utilizar usarlo usar tensores programar porque español ejemplo documentacion con como python tensorflow

python - usarlo - tensorflow ejemplo español



Lista de nombres de tensor en gráfico en Tensorflow (5)

Como una lista de comprensión anidada:

tensor_names = [t.name for op in tf.get_default_graph().get_operations() for t in op.values()]

Función para obtener nombres de tensores en un gráfico (el valor predeterminado es el gráfico predeterminado):

def get_names(graph=tf.get_default_graph()): return [t.name for op in graph.get_operations() for t in op.values()]

Función para obtener tensores en un gráfico (el valor predeterminado es el gráfico predeterminado):

def get_tensors(graph=tf.get_default_graph()): return [t for op in graph.get_operations() for t in op.values()]

El objeto gráfico en Tensorflow tiene un método llamado "get_tensor_by_name (name)". ¿Hay alguna forma de obtener una lista de nombres de tensor válidos?

Si no, ¿alguien sabe los nombres válidos para el modelo pre-entrenado inception-v3 desde aquí ? A partir de su ejemplo, pool_3, es un tensor válido, pero una lista de todos estaría bien. Miré el papel mencionado y algunas de las capas parecen corresponder a los tamaños en la tabla 1, pero no todas.


El documento no refleja con precisión el modelo. Si descarga la fuente de arxiv, tiene una descripción precisa del modelo como model.txt, y los nombres allí se correlacionan fuertemente con los nombres del modelo publicado.

Para responder a su primera pregunta, sess.graph.get_operations() le brinda una lista de operaciones. Para una op.name , op.name le da el nombre y op.values() le da una lista de tensores que produce (en el modelo inception-v3, todos los nombres de tensor son el nombre de operación con un ": 0" adjunto, entonces pool_3:0 es el tensor producido por la pool_3:0 agrupación final.)


Las respuestas anteriores son correctas. Encontré un código simple / fácil de entender para la tarea anterior. Así que compartiéndolo aquí: -

import tensorflow as tf def printTensors(pb_file): # read pb into graph_def with tf.gfile.GFile(pb_file, "rb") as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) # import graph_def with tf.Graph().as_default() as graph: tf.import_graph_def(graph_def) # print operations for op in graph.get_operations(): print(op.name) printTensors("path-to-my-pbfile.pb")


Ni siquiera tiene que crear una sesión para ver los nombres de todos los nombres de operaciones en el gráfico. Para hacer esto, solo necesita tomar un gráfico predeterminado tf.get_default_graph() y extraer todas las operaciones: .get_operations . Cada operación tiene muchos campos , el que necesita es el nombre.

Aquí está el código:

import tensorflow as tf a = tf.Variable(5) b = tf.Variable(6) c = tf.Variable(7) d = (a + b) * c for i in tf.get_default_graph().get_operations(): print i.name


Para ver las operaciones en el gráfico (verá muchas, así que para abreviar, he dado aquí solo la primera cadena).

sess = tf.Session() op = sess.graph.get_operations() [m.values() for m in op][1] out: (<tf.Tensor ''conv1/weights:0'' shape=(4, 4, 3, 32) dtype=float32_ref>,)