Я изучаю учебник от 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