Vòng lặp huấn luyện PyTorch

Trung bình

PyTorchautogradtối ưu4 test · 25 giây · sai số 0.001

Viết vòng lặp huấn luyện chuẩn của PyTorch cho mô hình ŷ = Xw + b với hàm mất mát MSE (trung bình):

```python

w = w0.clone().requires_grad_(True)

b = torch.tensor(b0, requires_grad=True)

opt = torch.optim.SGD([w, b], lr=lr)

for _ in range(steps):

opt.zero_grad()

loss = ((X @ w + b - y) ** 2).mean()

loss.backward()

opt.step()

```

Trả về [w₁, …, w_d, b] sau steps bước (dùng cả tập dữ liệu mỗi bước).

Viết hàm

train_linear(X, y, w0, b0, lr, steps)

Tham số

  • X: tensor (n, d)
  • y: tensor (n,)
  • w0: tensor (d,) khởi tạo
  • b0: số thực khởi tạo
  • lr: tốc độ học
  • steps: số bước

Trả về

Danh sách/tensor (d + 1,).

Ví dụ

Tham số

X = [[1],[2]]
y = [2,4]
w0 = [0]
b0 = 0
lr = 0.1
steps = 1

Kết quả

[1.0,0.6]

Tham số

X = [[0],[1],[2]]
y = [1,3,5]
w0 = [0.5]
b0 = 0
lr = 0.1
steps = 100

Kết quả

[1.999877113,1.000170496]

Bài tiếp theo: Causal attention theo lô bằng PyTorch →

Python · PyTorch

Bấm “Chạy thử” để gọi train_linear() với 2 ví dụ trong đề và so sánh kết quả. Dùng print() thoải mái để gỡ lỗi.