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 вернуть.
Возвращает:
| Конструкторы и деструкторы | |
|---|---|
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 )
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/tensor-array-grad