TensorPlay AI

从零实现线性回归

手工构建前向计算、均方误差、反向传播与参数更新。

完整路径

import tensorplay as tp

X = tp.randn(100, 1)
y = 3 * X + 2 + tp.randn(100, 1) * 0.1
w = tp.randn(1, 1, requires_grad=True)
b = tp.zeros(1, requires_grad=True)

for step in range(100):
    y_pred = X @ w + b
    loss = ((y_pred - y) ** 2).mean()
    loss.backward()

    with tp.no_grad():
        w -= 0.01 * w.grad
        b -= 0.01 * b.grad
        w.grad.zero_()
        b.grad.zero_()

你会理解

  • requires_grad 如何开启追踪。
  • loss.backward() 如何触发反向传播。
  • tp.no_grad() 如何隔离参数更新。
  • 为什么每轮更新后必须清空梯度。
Ask DeepWiki