TensorArrayGrad

TensorArrayGrad public final class

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

Si el gradiente TensorArray dado ya existe, devuelve una referencia.

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 han 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 a 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 atributo `fuente`).

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

Métodos públicos

estática TensorArrayGrad
crear ( Alcance alcance, operando <?> mango, operando <Float> Flowin, fuente String)
Método de fábrica para crear una clase que envuelva una nueva operación de TensorArrayGrad.
Salida <Float>
Salida <?>

Métodos heredados

Métodos públicos

public static TensorArrayGrad crear ( Alcance alcance, operando <?> mango, operando <Float> Flowin, fuente de cuerda)

Método de fábrica para crear una clase que envuelva una nueva operación de 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

pública de salida <Float> flowOut ()

pública de salida <?> gradHandle ()