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

tensorflow :: operaciones :: TensorArrayGrad

#include <data_flow_ops.h>

Crea un TensorArray para almacenar los gradientes de valores en el identificador dado.

Resumen

Si el gradiente de TensorArray dado ya existe, devuelve una referencia a él.

Bloquea el tamaño del TensorArray original al inhabilitar su marca de tamaño dinámico.

Una nota sobre la entrada flow_in:

El identificador flow_in fuerza la ejecución de la búsqueda de degradado a que ocurra solo después de que se hayan producido otras operaciones. Por ejemplo, cuando el TensorArray directo tiene un tamaño dinámico, las escrituras en este TensorArray pueden cambiar el tamaño del objeto. El gradiente TensorArray tiene un tamaño estático según el tamaño del TensorArray directo cuando se ejecuta esta operación. Además, esta llamada congela el tamaño del TensorArray directo. Como resultado, el flujo se usa para garantizar que la llamada para generar el gradiente TensorArray solo ocurra después de que se ejecuten todas las escrituras.

En el caso de TensorArrays de tamaño dinámico, el cálculo de gradiente solo debe realizarse en operaciones de lectura que se hayan encadenado a través del flujo para que ocurran solo después de que se hayan ejecutado todas las escrituras. De esa forma, se conoce el tamaño final del TensorArray directo cuando se llama a esta operación.

Una nota sobre el atributo de fuente:

Las llamadas al gradiente de TensorArray usan un objeto TensorArray acumulador. Si se calculan y ejecutan múltiples gradientes en la misma sesión, los múltiples nodos de gradiente pueden fluir accidentalmente a través del mismo acumulador TensorArray . Esto cuenta el doble y generalmente rompe el flujo de gradiente de TensorArray .

La solución es identificar en qué gradiente se llama este gradiente TensorArray en particular. Esto se realiza identificando una cadena única (por ejemplo, "gradients", "gradients_1", ...) a partir del nombre del Tensor del gradiente de entrada. Esta cadena se usa como sufijo al crear el objeto de gradiente TensorArray aquí (el source del atributo).

La source atributo se agrega como sufijo al nombre del TensorArray directo cuando se realiza la creación / búsqueda, de modo que cada cálculo de gradiente por separado obtiene su propio acumulador de TensorArray .

Argumentos:

  • alcance: un objeto de alcance
  • handle: El asa del TensorArray delantero.
  • flow_in: un escalar flotante que impone el encadenamiento adecuado de las operaciones.
  • source: la cadena de origen del gradiente, que se utiliza para decidir qué gradiente TensorArray devolver.

Devoluciones:

Constructores y Destructores

TensorArrayGrad (const :: tensorflow::Scope & scope, :: tensorflow::Input handle, :: tensorflow::Input flow_in, StringPiece source)

Atributos públicos

flow_out
grad_handle
operation

Atributos públicos

fluir fuera

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

operación

Operation operation

Funciones publicas

TensorArrayGrad

 TensorArrayGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input handle,
  ::tensorflow::Input flow_in,
  StringPiece source
)