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)
Обратитесь к руководству по AD вперёд за подробными шагами по использованию этого API.
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.autograd.forward_ad.make_dual.html