TensorArrayGrad

clase final pública TensorArrayGrad

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

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

Bloquea el tamaño del TensorArray original al deshabilitar su indicador de tamaño dinámico.

**Una nota sobre el flujo de entrada_in:**

El identificador flow_in obliga a que la ejecución de la búsqueda de degradado se produzca 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 en función del tamaño del TensorArray delantero 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 hayan ejecutado 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 han encadenado a través del flujo para que ocurran solo después de que se hayan ejecutado todas las escrituras. De esa manera, se conoce el tamaño final del TensorArray directo cuando se llama a esta operación.

**Una nota sobre el atributo fuente:**

Las llamadas de 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. Este doble cuenta y generalmente rompe el flujo de gradiente de TensorArray.

La solución es identificar qué llamada de gradiente se está llamando a este gradiente de TensorArray en particular. Esto se realiza mediante la identificación de una cadena única (por ejemplo, "gradientes", "gradientes_1", ...) del nombre del tensor de gradiente de entrada. Esta cadena se usa como sufijo al crear el objeto de gradiente TensorArray aquí (el atributo `fuente`).

El atributo `fuente` se agrega como sufijo al nombre del TensorArray directo al realizar la creación/búsqueda, de modo que cada cálculo de gradiente por separado obtenga su propio acumulador de TensorArray.

Métodos públicos

TensorArrayGrad estático
crear ( ámbito de ámbito, operando <?> manejador, operando <flotante> flujo de entrada, fuente de cadena)
Método de fábrica para crear una clase que envuelve una nueva operación TensorArrayGrad.
Salida <Flotante>
Salida <?>

Métodos Heredados

Métodos públicos

TensorArrayGrad estático público crear ( ámbito de alcance, controlador de operando <?>, flujo de entrada de operando <flotante>, fuente de cadena)

Método de fábrica para crear una clase que envuelve una nueva operación TensorArrayGrad.

Parámetros
alcance alcance actual
resolver El identificador del TensorArray delantero.
fluir en Un escalar flotante que impone el encadenamiento adecuado de operaciones.
fuente La cadena de origen del gradiente, que se usa para decidir qué gradiente TensorArray devolver.
Devoluciones
  • una nueva instancia de TensorArrayGrad

Salida pública <Flotante> flowOut ()

Salida pública <?> gradHandle ()