Spec-Zone.ru › TensorFlow C++

tensorflow::ops::TensorArrayGrad

#include <data_flow_ops.h>

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

Сводка

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

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

Примечание о входном параметре flow_in:

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

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

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

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

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

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

Аргументы:

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

Возвращает:

  • Output grad_handle
  • Output flow_out
Конструкторы и деструкторы
TensorArrayGrad(const ::tensorflow::Scope & scope, ::tensorflow::Input handle, ::tensorflow::Input flow_in, StringPiece source)
Общедоступные атрибуты
flow_out
::tensorflow::Output
grad_handle
::tensorflow::Output
operation
Operation

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

flow_out

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

operation

Operation operation

Общедоступные функции

TensorArrayGrad

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

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/tensor-array-grad

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API