TensorArrayGrad

TensorArrayGrad classe final pública

Cria um TensorArray para armazenar os gradientes de valores no identificador fornecido.

Se o gradiente TensorArray fornecido já existir, retorna uma referência a ele.

Bloqueia o tamanho do TensorArray original desativando seu sinalizador de tamanho dinâmico.

** Uma observação sobre a entrada flow_in: **

O identificador flow_in força a execução da pesquisa de gradiente a ocorrer somente após certas outras operações terem ocorrido. Por exemplo, quando o TensorArray de avanço é dimensionado dinamicamente, as gravações neste TensorArray podem redimensionar o objeto. O gradiente TensorArray é dimensionado estaticamente com base no tamanho do TensorArray direto quando esta operação é executada. Além disso, o tamanho do TensorArray de encaminhamento é congelado por esta chamada. Como resultado, o fluxo é usado para garantir que a chamada para gerar o gradiente TensorArray aconteça apenas depois que todas as gravações forem executadas.

No caso de TensorArrays de tamanho dinâmico, o cálculo do gradiente só deve ser executado em operações de leitura que foram encadeadas por meio de fluxo para ocorrer somente depois que todas as gravações foram executadas. Dessa forma, o tamanho final do TensorArray direto é conhecido quando essa operação é chamada.

** Uma observação sobre o atributo de origem: **

As chamadas de gradiente do TensorArray usam um objeto TensorArray acumulador. Se vários gradientes forem calculados e executados na mesma sessão, os vários nós de gradiente podem acidentalmente fluir pelo mesmo acumulador TensorArray. Isso conta duas vezes e geralmente quebra o fluxo de gradiente do TensorArray.

A solução é identificar em qual gradiente este gradiente específico do TensorArray está sendo chamado. Isso é feito identificando uma string única (por exemplo, "gradientes", "gradientes_1", ...) a partir do nome do Tensor do gradiente de entrada. Esta string é usada como sufixo ao criar o objeto gradiente TensorArray aqui (o atributo `source`).

O atributo `source` é adicionado como um sufixo ao nome do TensorArray direto ao realizar a criação / pesquisa, de modo que cada cálculo de gradiente separado obtenha seu próprio acumulador TensorArray.

Métodos Públicos

estática TensorArrayGrad
criar ( Scope escopo, Operando <?> alça, Operando <float> Flowin, fonte String)
Método de fábrica para criar uma classe que envolve uma nova operação TensorArrayGrad.
Output <float>
Output <?>

Métodos herdados

Métodos Públicos

public static TensorArrayGrad criar ( Scope escopo, Operando <?> alça, Operando <float> Flowin, fonte String)

Método de fábrica para criar uma classe que envolve uma nova operação TensorArrayGrad.

Parâmetros
alcance escopo atual
lidar O identificador para o TensorArray de avanço.
flowIn Um escalar flutuante que impõe o encadeamento adequado de operações.
fonte A string de origem do gradiente, usada para decidir qual gradiente TensorArray retornar.
Devoluções
  • uma nova instância do TensorArrayGrad

pública Output <float> flowOut ()

pública de saída <?> gradHandle ()