Создает TensorArray для хранения градиентов значений в данном дескрипторе.
Если данный градиент TensorArray уже существует, возвращает ссылку на него.
Блокирует размер исходного TensorArray, отключив его флаг динамического размера.
**Примечание о входном потоке flow_in:**
Дескриптор flow_in заставляет выполнять поиск градиента только после того, как произошли некоторые другие операции. Например, когда прямой TensorArray имеет динамический размер, запись в этот TensorArray может изменить размер объекта. Градиент TensorArray имеет статический размер в зависимости от размера прямого TensorArray при выполнении этой операции. Более того, этим вызовом замораживается размер прямого TensorArray. В результате поток используется для обеспечения того, чтобы вызов создания градиента TensorArray происходил только после выполнения всех операций записи.
В случае TensorArrays с динамическим размером вычисление градиента должно выполняться только для операций чтения, которые сами были связаны через поток и происходили только после выполнения всех операций записи. Таким образом, окончательный размер прямого TensorArray будет известен при вызове этой операции.
**Примечание об атрибуте источника:**
Вызовы градиента TensorArray используют объект-аккумулятор TensorArray. Если несколько градиентов рассчитываются и выполняются в одном сеансе, несколько узлов градиента могут случайно пройти через один и тот же аккумулятор TensorArray. Это двойное значение и обычно нарушает поток градиента TensorArray.
Решение состоит в том, чтобы определить, какой вызов градиента вызывает этот конкретный градиент TensorArray. Это выполняется путем идентификации уникальной строки (например, «gradients», «gradients_1», ...) из имени входного градиента Tensor. Эта строка используется в качестве суффикса при создании здесь объекта градиента TensorArray (атрибут `source`).
Атрибут source добавляется в качестве суффикса к имени прямого TensorArray при выполнении создания/поиска, так что каждый отдельный расчет градиента получает свой собственный аккумулятор TensorArray.
Публичные методы
статический TensorArrayGrad | create (область области действия , дескриптор операнда <?>, операнд <Float> flowIn, источник строки) Фабричный метод для создания класса, обертывающего новую операцию TensorArrayGrad. |
Выход <С плавающей запятой> | вытекать () |
Вывод <?> | градХэндл () |
Унаследованные методы
Публичные методы
public static TensorArrayGrad create (область области действия , дескриптор операнда <?>, операнд <Float> flowIn, источник строки)
Фабричный метод для создания класса, обертывающего новую операцию TensorArrayGrad.
Параметры
объем | текущий объем |
---|---|
ручка | Дескриптор прямого TensorArray. |
втекать | Скаляр с плавающей запятой, обеспечивающий правильную цепочку операций. |
источник | Исходная строка градиента, используемая для принятия решения о том, какой градиент TensorArray возвращать. |
Возврат
- новый экземпляр TensorArrayGrad