Spec-Zone.ru › PyTorch 2

torch.autograd.forward_ad.make_dual

torch.autograd.forward_ad.make_dual(tensor, tangent, *, level=None) [source]

Связывает значение тензора с прямым градиентом, касательной, для создания «дуального тензора», который используется для вычисления градиентов прямой AD. Результатом является новый тензор, связанный с tensor с tangent встроенным как атрибут как есть, если у него такая же структура хранения, или скопированным в противном случае. Атрибут касательной можно восстановить с помощью unpack_dual().

Эта функция обратима.

Учитывая функцию f, чья якобианная матрица равна J, это позволяет вычислить произведение якобиана на вектор (jvp) между J и заданным вектором v следующим образом.

Пример:

>>> with dual_level():
...     inp = make_dual(x, v)
...     out = f(inp)
...     y, jvp = unpack_dual(out)

Обратитесь к руководству по forward-mode AD для подробных шагов по использованию этого API.

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.autograd.forward_ad.make_dual.html

Spec-Zone.ru

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