Spec-Zone.ru › TensorFlow C++ 2.4

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-аккумулятор.

Аргументы:

  • scope: Объект Scope
  • handle: Обработчик вперёд TensorArray.
  • flow_in: Скаляр с плавающей точкой, который обеспечивает надлежащее цепное соединение операций.
  • 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
)

© 2020 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/versions/r2.4/api_docs/cc/class/tensorflow/ops/tensor-array-grad

Spec-Zone.ru

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