TensorArrayGrad

classe final pública TensorArrayGrad

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

Se o gradiente TensorArray fornecido já existir, retornará 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 algumas outras operações terem ocorrido. Por exemplo, quando o TensorArray de avanço é dimensionado dinamicamente, as gravações nesse TensorArray podem redimensionar o objeto. O gradiente TensorArray é dimensionado estaticamente com base no tamanho do TensorArray de avanço quando essa operação é executada. Além disso, o tamanho do TensorArray de encaminhamento é congelado por essa chamada. Como resultado, o fluxo é usado para garantir que a chamada para gerar o gradiente TensorArray ocorra apenas depois que todas as gravações forem executadas.

No caso de TensorArrays de tamanho dinâmico, a computação de gradiente deve ser executada apenas em operações de leitura que foram encadeadas por meio de fluxo para ocorrer somente depois que todas as gravações forem executadas. Dessa forma, o tamanho final do TensorArray de encaminhamento é conhecido quando essa operação é chamada.

**Uma observação sobre o atributo source:**

As chamadas de gradiente 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 poderão passar acidentalmente pelo mesmo acumulador TensorArray. Essa contagem dupla e geralmente interrompe o fluxo de gradiente do TensorArray.

A solução é identificar qual gradiente chama esse gradiente TensorArray específico que está sendo chamado. Isso é feito identificando uma string exclusiva (por exemplo, "gradients", "gradients_1", ...) do nome do Tensor gradiente de entrada. Essa 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 de encaminhamento ao realizar a criação/pesquisa, para que cada cálculo de gradiente separado obtenha seu próprio acumulador TensorArray.

Métodos públicos

static TensorArrayGrad
create ( Escopo do escopo, Operando <?> handle, Operando <Float> flowIn, String source)
Método de fábrica para criar uma classe que envolve uma nova operação do TensorArrayGrad.
Saída <Float>
Saída <?>

Métodos Herdados

Métodos públicos

public static TensorArrayGrad create ( Escopo do escopo, Operando <?> handle, Operando <Float> flowIn, String source)

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

Parâmetros
alcance escopo atual
lidar com O identificador para o TensorArray de encaminhamento.
entrada de fluxo 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

saída pública <Float> flowOut ()

Public Output <?> gradHandle ()