for iter in range(epochs): ## 予測させます(feed forward) y_pred = X_train.mm(w) + b ## 誤差を計算 loss = (y_pred - Y_train).pow(2).sum() if iter % 10000 == 0: print(str(iter) + ','+ str(loss.item())) ## 逆誤差伝搬で勾配を計算 loss.backward() with torch.no_grad(): w -= learning_rate * w.grad b -= learning_rate * b.grad w.grad.zero_() b.grad.zero_()
こうやって計算させると、
1 2
w, b #(tensor([[1.9053]], requires_grad=True), tensor([3.4280], requires_grad=True))