tensorflow::ops::TensorArrayGrad

#include <data_flow_ops.h>

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

Краткое содержание

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

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

Примечание относительно входного потока flow_in:

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

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

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

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

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

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

Аргументы:

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

Возвращает:

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

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

Общедоступные атрибуты

flow_out
grad_handle
operation

Общедоступные атрибуты

flow_out

::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
)