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:
| Конструкторы и деструкторы | |
|---|---|
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 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