梯度计算
x_data = [1.0, 2.0, 3.0] y_data = [2.0, 4.0, 6.0] w = 1.0 # any random value # our model forward pass def forward(x): return x * w # Loss function def loss(x, y): y_pred = forward(x) return (y_pred - y) * (y_pred - y) # compute gradient def gradient(x, y): # d_loss/d_w return 2 * x * (x * w - y) # Before training print("predict (before training)", 4, forward(4)) # Training loop for epoch in range(10): for x_val, y_val in zip(x_data, y_data): grad = gradient(x_val, y_val) w = w - 0.01 * grad print("\tgrad: ", x_val, y_val, grad) l = loss(x_val, y_val) print("progress:", epoch, l) # After