Я экспериментирую с PyTorch и автодифференцированием и градиентным спуском
С этой целью я хотел бы оценить параметры, которые привели бы к определенному значению произвольной линейной в функции параметров.
Мой код здесь:
import torch
X = X.astype(float)
X = np.array([[3.], [4.], [5.]])
X = torch.from_numpy(X)
X.requires_grad = True
W = np.random.randn(3,3)
W = np.triu(W, k=0)
W = torch.from_numpy(W)
W.requires_grad = True
out = 10 - (X@torch.transpose(X, 1,0) * W).sum()
out
:
Моя цель - сделать out
близким к 0 (в пределах интервала [-.00001 , 0.0001]
), отрегулировав W
с использованием градиента W
.
Как мне поступить отсюда, чтобы добиться этого с помощью pytorch?
Обновить
@ Umang: это то, что я получаю, когда запускаю предлагаемый вами код:
Фактически алгоритм расходится.