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 вызывается. Это выполняется путём идентификации уникальной строки (например, "gradients", "gradients_1", ...) из имени входного градиентного Tensor. Эта строка используется в качестве суффикса при создании объекта градиентного TensorArray здесь (атрибут source).

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

Args:

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

Returns:

  • 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