тензорный поток :: ops :: TensorArrayGrad

#include <data_flow_ops.h>

Создает TensorArray для хранения градиентов значений в данном дескрипторе.

Резюме

Если данный градиент TensorArray уже существует, возвращает ссылку на него.

Блокирует размер исходного TensorArray , отключив его флаг динамического размера.

Замечание о вводе flow_in:

Дескриптор flow_in заставляет выполнение поиска градиента происходить только после того, как были выполнены некоторые другие операции. Например, когда передний TensorArray имеет динамический размер, запись в этот TensorArray может изменить размер объекта. Градиент TensorArray имеет статический размер на основе размера прямого TensorArray при выполнении этой операции. Кроме того, этим вызовом замораживается размер прямого массива TensorArray . В результате поток используется, чтобы гарантировать, что вызов для генерации градиента TensorArray произойдет только после того, как все записи будут выполнены.

В случае TensorArrays с динамическим размером вычисление градиента должно выполняться только для операций чтения, которые сами были связаны через поток, чтобы происходить только после выполнения всех операций записи. Таким образом, при вызове этой операции становится известен окончательный размер прямого массива TensorArray .

Примечание об атрибуте источника:

Вызов градиента TensorArray использует объект TensorArray- накопитель. Если несколько градиентов вычисляются и выполняются в одном сеансе, несколько узлов градиента могут случайно проходить через один и тот же аккумулятор TensorArray . Это двойной счет и, как правило, нарушает градиентный поток TensorArray .

Решение состоит в том, чтобы определить, какой градиент вызывает этот конкретный градиент TensorArray . Это выполняется путем идентификации уникальной строки (например, «градиенты», «градиенты_1», ...) из имени входного градиента Тензора . Эта строка используется как суффикс при создании здесь градиентного объекта TensorArray ( source атрибута).

Атрибут source добавляются в качестве суффикса к прямому TensorArray имени «s при выполнении создания / поиске, так что каждый отдельный расчет градиента получает свой собственный TensorArray аккумулятор.

Аргументы:

  • scope: объект Scope
  • handle: дескриптор переднего TensorArray .
  • flow_in: скаляр с плавающей запятой, обеспечивающий правильную цепочку операций.
  • source: строка источника градиента, используемая для решения, какой градиент TensorArray возвращать.

Возврат:

Конструкторы и деструкторы

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

Публичные атрибуты

flow_out
grad_handle
operation

Публичные атрибуты

вытекать

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

операция

Operation operation

Публичные функции

TensorArrayGrad

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