Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tensorflow :: ops :: TensorArrayGrad

#include <data_flow_ops.h>

Tworzy TensorArray do przechowywania gradientów wartości w podanym uchwycie.

Podsumowanie

Jeśli dany gradient TensorArray już istnieje, zwraca do niego odwołanie.

Blokuje rozmiar oryginalnej tablicy TensorArray , wyłączając jej flagę rozmiaru dynamicznego.

Uwaga dotycząca wejścia flow_in:

Uchwyt flow_in wymusza wykonanie wyszukiwania gradientu dopiero po wykonaniu pewnych innych operacji. Na przykład, gdy do przodu TensorArray ma dynamiczny rozmiar, zapisy do tej TensorArray mogą zmienić rozmiar obiektu. Gradient TensorArray ma statyczny rozmiar na podstawie rozmiaru do przodu TensorArray podczas wykonywania tej operacji. Co więcej, rozmiar przekazywanej tablicy TensorArray jest zamrożony przez to wywołanie. W rezultacie przepływ jest używany do zapewnienia, że ​​wywołanie generowania gradientu TensorArray nastąpi dopiero po wykonaniu wszystkich zapisów.

W przypadku tablic TensorArrays o dynamicznych rozmiarach obliczanie gradientu powinno być wykonywane tylko na operacjach odczytu, które same zostały połączone za pośrednictwem przepływu, aby wystąpiły dopiero po wykonaniu wszystkich zapisów. W ten sposób ostateczny rozmiar przekazywanej tablicy TensorArray jest znany podczas wywoływania tej operacji.

Uwaga dotycząca atrybutu source:

Wywołania gradientu TensorArray używają akumulatora TensorArray . Jeśli obliczanych jest wiele gradientów i uruchamianych w tej samej sesji, wiele węzłów gradientu może przypadkowo przepłynąć przez ten sam akumulator TensorArray . To podwójne liczy i generalnie przerywa przepływ gradientu TensorArray .

Rozwiązaniem jest zidentyfikowanie, które wywołanie gradientu to konkretny gradient TensorArray jest wywoływany. Jest to wykonywane przez identyfikację unikalnego ciągu (np. „Gradienty”, „gradienty_1”,…) z nazwy gradientu wejściowego Tensor . Ten ciąg jest używany jako przyrostek podczas tworzenia obiektu gradientu TensorArray w tym miejscu ( source atrybutu).

source atrybutu jest dodawane jako przyrostek do nazwy TensorArray do przodu podczas wykonywania tworzenia / wyszukiwania, dzięki czemu każde oddzielne obliczenie gradientu otrzymuje własny akumulator TensorArray .

Argumenty:

  • zakres: obiekt Scope
  • uchwyt: Uchwyt do przodu TensorArray .
  • flow_in: zmiennoprzecinkowy skalar, który wymusza prawidłowe łańcuchowanie operacji.
  • source: ciąg źródłowy gradientu używany do decydowania, który gradient TensorArray ma zostać zwrócony.

Zwroty:

Konstruktorzy i niszczyciele

TensorArrayGrad (const :: tensorflow::Scope & scope, :: tensorflow::Input handle, :: tensorflow::Input flow_in, StringPiece source)

Atrybuty publiczne

flow_out
grad_handle
operation

Atrybuty publiczne

wypływać

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

operacja

Operation operation

Funkcje publiczne

TensorArrayGrad

 TensorArrayGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input handle,
  ::tensorflow::Input flow_in,
  StringPiece source
)