Производная PyTorch не имеет степени - PullRequest
0 голосов
/ 05 октября 2018

Я изучаю учебник от PyTorch Официальный Документы .Я пытаюсь понять содержание.Начните с You can do many crazy things with autograd!

x = torch.randn(3, requires_grad=True)
y = x * 2

i = 0
while y.data.norm() < 100:
    y = y * 2
    i+= 1

print(x)
print(y)
print(i)

Вывод:

tensor([-0.6933,  0.1126,  0.3913], requires_grad=True)
tensor([-88.7455,  14.4082,  50.0871], grad_fn=<MulBackward>)
6

Найдите производную по x в точке [0.1, 1.0, 0.0001]

gradients = torch.tensor([0.1, 1.0, 0.0001], dtype=torch.float)
y.backward(gradients)
print(x.grad)

Вывод:

tensor([ 12.8000, 128.0000,   0.0128])

В моем понимании i равно 6.Тогда y = (2x)^7 и производная отличается от PyTorch.Он имеет значение 7 в качестве коэффициента при замене значения на мою производную.

Ответ от PyTorch просто заменяет x с указанным пунктом на dy/dx = 2^7 * x

Вопрос:

Как вывести производную?

Ссылки:

Как использовать PyTorch для вычисления частных производных?

Функция автоматического дифференцирования PyTorch Autograd

1 Ответ

0 голосов
/ 05 октября 2018

Если вы внимательно посмотрите на выражения, получается, что y = x * (2^7), производная которого 2^7 * x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...