def relu(X):
return torch.max(X, 0)
W1 = nn.Parameter(torch.randn(num_input, num_hiddens) * 0.01)
b1 = nn.Parameter(torch.zeros(num_hiddens)) # 偏移
W2 = nn.Parameter(torch.randn(num_hiddens, num_output) * 0.01)
b2 = nn.Parameter(torch.zeros(num_outputs))
# nn.Parameter(): 类型转换函数,将一个不可训练的类型 Tensor 转换成可以训练的类型 parameter 并将这个 parameter 绑定到这个 module 里面
# torch.randn(n, m ): 生成n*m随机数字的tensor,这些随机数字满足标准正态分布(0~1)
# torch.zeros(): torch.zeros()返回一个由标量值0填充的张量,其形状由变量参数size定义
H = relu(X @ W1 + b1)
Y = H @ W2 + b2