03-反向传播
回顾


计算图




关于两层神经网络的问题


函数的复合和链式法则










线性模型的计算图

Tensor in Pytorch

用pytorch实现线性模型


最后更新于
这有帮助吗?






















最后更新于
这有帮助吗?
这有帮助吗?
import torch
import numpy as np
# 数据样本
x_data = np.array([
[1.0,2.0,3.0]
])
y_data = np.array([
2.0,4.0,6.0
])
# 权重
w = torch.Tensor([1.0])
w.requires_grad = True
def loss(x,y,w):
y_pred = forward(x,w)
return (y-y_pred)**2
def forward(x,w):
return x*wprint("predict(before traning)",4,forward(4,w).item())
for epoch in range(100):
for x,y in zip(x_data,y_data):
l = loss(x,y,w)
l.backward()
print("\tgrad:",x,y,w.grad.item())
w.data = w.data - 0.01*w.grad.data
w.grad.data.zero_() # 清空梯度
print("progress:",epoch,l.item())
print("predict (after training)",4,forward(4,w).item())