反向传播:往前回溯,计算初始节点的梯度值
正向传播:从输入到输出
torch.nn.Linear: 代表线性的输出层,z = wx
import torch
X = torch.tensor([[1,0],[1,1],[0,1],[0,0]],dtype=torch.float32)
torch.random.manual_seed(22) # 人为设置随机数种子,固定w,b值
# 实例化一个 output
output = torch.nn.Linear(2,1)
"""
上一层的神经元个数(上一层的神经元中,给现在这一层传输数据的神经元的个数)
这一层的神经元个数(接收传输数据的神经元的个数)
为什么没有w? 在torch.nn.modoule类中,每次调用都会随机的生成w和b
在Linear中通过bais的布尔类型控制是否随机生成b,通过随机数种子固定w值
为什么没有定义输入层/? 任何一个神经网络都会有输入层,当定义了特征矩阵时,输入层的结构也就能确定了,
"""
z = output(X)
print(output.weight)
print(output.bias)
print(z)