Spec-Zone.ru › TensorFlow C++ 2.3

tensorflow::ops::TensorArrayGrad

#include <data_flow_ops.h>

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

Краткое описание

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

Заблокировать размер исходного TensorArray, отключив флаг динамического размера.

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

Поток handle flow_in принуждает выполнение поиска градиента произойти только после выполнения определённых других операций. Например, когда прямой TensorArray имеет динамический размер, записи в этот TensorArray могут изменить его размер. Градиентный TensorArray имеет статический размер, основанный на размере прямого TensorArray в момент выполнения этой операции. Кроме того, размер прямого TensorArray замораживается этим вызовом. В результате поток используется для обеспечения того, что вызов генерации градиентного TensorArray происходит только после выполнения всех записей.

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

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

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

Решение состоит в том, чтобы определить, в каком вызове градиента этот конкретный градиент TensorArray вызывается. Это выполняется путём определения уникальной строки (например, "gradients", "gradients_1", ...) из имени входного тензора градиента. Эта строка используется в качестве суффикса при создании объекта градиентного 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 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/tensor-array-grad

Spec-Zone.ru

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