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 deshabilitando su indicador de tamaño dinámico.

**Una nota sobre la entrada flow_in:**

El identificador flow_in fuerza que la ejecución de la búsqueda de gradiente se produzca solo después de que se hayan producido otras operaciones determinadas. Por ejemplo, cuando el tamaño del TensorArray directo tiene un tamaño dinámico, las escrituras en este TensorArray pueden cambiar el tamaño del objeto. El TensorArray degradado 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 utiliza para garantizar que la llamada para generar el TensorArray de gradiente solo ocurra después de que se ejecuten todas las escrituras.

En el caso de TensorArrays de tamaño dinámico, el cálculo del 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 utilizan un objeto TensorArray acumulador. Si se calculan y ejecutan varios gradientes en la misma sesión, los múltiples nodos de gradiente pueden fluir accidentalmente a través del mismo acumulador TensorArray. Esto cuenta dos veces y generalmente rompe el flujo de gradiente de TensorArray.

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

El atributo `source` 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 (alcance alcance , Operando <?> identificador, Operando <Float> flowIn, Fuente de cadena)
Método de fábrica para crear una clase que envuelve una nueva operación de TensorArrayGrad.
Salida <Flotante>
Salida <?>

Métodos heredados

Métodos públicos

creación pública estática de TensorArrayGrad (alcance del alcance , identificador del operando <?>, flujo de operando <Float>, fuente de cadena)

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

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

Salida pública <Float> flowOut ()

Salida pública <?> gradHandle ()