Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tf.Graph

TensorFlow 1 versión Ver código fuente en GitHub

Un cálculo TensorFlow, representado como un gráfico de flujo de datos.

Se utiliza en los cuadernos

Se utiliza en los tutoriales

Los gráficos son utilizados por tf.function s para representar cálculos de la función. Cada gráfico contiene un conjunto de tf.Operation objetos, que representan unidades de cálculo; y tf.Tensor objetos, que representan las unidades de datos que fluyen entre operaciones.

Uso de Gráficos directamente (en desuso)

A tf.Graph puede ser construido y utilizado directamente sin un tf.function , como se requiere en TensorFlow 1, pero esto es obsoleto y se recomienda utilizar un tf.function su lugar. Si se utiliza directamente un gráfico, también se requieren otros 1 clases TensorFlow obsoleta para ejecutar la gráfica, tal como un tf.compat.v1.Session .

Un gráfico por defecto puede ser registrado en el tf.Graph.as_default gestor de contexto. Entonces, las operaciones se añadirán a la gráfica en lugar de ser ejecutado con ansiedad. Por ejemplo:

 g = tf.Graph()
with g.as_default():
  # Define operations and tensors in `g`.
  c = tf.constant(30.0)
  assert c.graph is g
 

tf.compat.v1.get_default_graph() se puede utilizar para obtener el gráfico predeterminado.

Nota importante: Esta clase no es seguro para subprocesos para la construcción gráfico. Todas las operaciones deben ser creados a partir de un solo hilo, o se deben proporcionar sincronización externa. A menos que se especifique lo contrario, todos los métodos no son seguros para subprocesos.

Un Graph ejemplo soporta un número arbitrario de "colecciones" que se identifican por su nombre. Para mayor comodidad en la construcción de un gráfico grande, las colecciones pueden almacenar grupos de objetos relacionados entre sí: por ejemplo, el tf.Variable utiliza una colección (nombre tf.GraphKeys.GLOBAL_VARIABLES ) para todas las variables que se crean durante la construcción de un gráfico. La persona que llama puede definir colecciones adicionales especificando un nombre nuevo.

building_function Devuelve True si y sólo si esta gráfica representa una función.
collections Devuelve los nombres de las colecciones conocidas de este gráfico.
finalized Verdadero si este gráfico se ha finalizado.
graph_def_versions La información de la versión GraphDef de este gráfico.

Para más detalles sobre el significado de cada versión, consulte GraphDef .

seed La semilla aleatoria a nivel de gráfica de este gráfico.
version Devuelve un número de versión que se incrementa a medida ops se añaden a la gráfica.

Tenga en cuenta que esto no está relacionado con los tf.Graph.graph_def_versions .

Métodos

add_to_collection

Ver fuente

Tiendas value en la colección con lo dado name .

Tenga en cuenta que las colecciones no son conjuntos, por lo que es posible añadir un valor a una colección varias veces.

args
name La clave para la colección. El GraphKeys clase contiene muchos nombres estándar para colecciones.
value El valor a añadir a la colección.

add_to_collections

Ver fuente

Tiendas value en las colecciones dadas por names .

Tenga en cuenta que las colecciones no son conjuntos, por lo que es posible añadir un valor a una colección varias veces. Esta función se asegura de que los duplicados de names se ignoran, pero no comprobará para ser miembro preexistente de value en cualquiera de las colecciones de names .

names pueden ser cualquier iterable, pero si names es una cadena, se trata como un único nombre de la colección.

args
names Las llaves de las colecciones para agregar a. El GraphKeys clase contiene muchos nombres estándar para colecciones.
value El valor a añadir a las colecciones.

as_default

Ver fuente

Devuelve un gestor de contexto que hace que este Graph el gráfico predeterminado.

Este método debe utilizarse si desea crear múltiples gráficos en el mismo proceso. Para mayor comodidad, se proporciona un gráfico predeterminado global, y todas las operaciones se añadirá a este gráfico si no se crea un nuevo gráfico de forma explícita.

Utilizar este método con la with palabra clave para especificar que ops creadas en el marco de un bloque, debe añadirse a esta gráfica. En este caso, una vez que el alcance de la with se sale, el gráfico predeterminado anterior se ajusta de nuevo como predeterminado. Hay una pila, por lo que está bien tener múltiples niveles anidados de as_default llamadas.

El gráfico predeterminado es una propiedad del subproceso actual. Si crea un nuevo hilo, y desea utilizar el gráfico predeterminado en ese hilo, debe agregar explícitamente una with g.as_default(): en función de ese hilo.

Los siguientes ejemplos de código son equivalentes:

 # 1. Using Graph.as_default():
g = tf.Graph()
with g.as_default():
  c = tf.constant(5.0)
  assert c.graph is g

# 2. Constructing and making default:
with tf.Graph().as_default() as g:
  c = tf.constant(5.0)
  assert c.graph is g
 

Si la ejecución se activa con ganas de operaciones creadas en virtud de este gestor de contexto será añadido a la gráfica en lugar de ejecutarse con impaciencia.

Devoluciones
Un gestor de contexto para el uso de este gráfico como el gráfico predeterminado.

as_graph_def

Ver fuente

Devuelve una serializado GraphDef representación de este gráfico.

El serializado GraphDef puede importarse en otro Graph (usando tf.import_graph_def ) o utilizarse con la API C Sesión ++ .

Este método es seguro para subprocesos.

args
from_version Opcional. Si se establece, devuelve un GraphDef que contiene sólo los nodos que se han añadido a este gráfico desde su version propiedad tenía el valor dado.
add_shapes Si es verdad, añade un "_output_shapes" lista attr a cada nodo con las formas inferidos de cada una de sus salidas.

Devoluciones
A GraphDef búfer de protocolo.

aumentos
ValueError Si el graph_def sería demasiado grande.

as_graph_element

Ver fuente

Devuelve el objeto referido por obj , como una Operation o Tensor .

Esta función valida que obj representa un elemento de este gráfico, y da un mensaje de error informativo, si no lo es.

Esta función es la forma canónica de obtener / validar un objeto de uno de los tipos permitidos de una referencia argumento externo en la API de sesión.

Este método puede ser llamado simultáneamente desde varios subprocesos.

args
obj Un Tensor , una Operation , o el nombre de un tensor