传统神经网络
传统神经网络nn,采用这种全连接的方式,可以看出是一列一列数据,包括起始和中间的隐层都是一列数据。
例如我们再对图像用这种方式来计算,需要把图像转为一列数据,例如图像为28x28单通道图像,需要转为28x28=784的列数据再进行神经网络训练。
input layer = 1 x 784 与 w1=784x512进行矩阵运算,再加上偏置项b1,再到激活函数,得到隐藏层hidden layer1 = 1x512
隐藏层hidden layer1 = 1x512与w2=512x512进行矩阵计算,再加上偏置项b2,再到激活函数,得到隐藏层hidden layer2 = 1x512
隐藏层hidden layer2 = 1x512与w3 = 512x10进行矩阵运算,再加上偏置项b3,得到输出层output layer = 1x10
这里输出为10,是对图像做的分类任务
上面这种方式,放在pytorch中如何使用呢?我们可以使用如下方式来定义我们的神经网络。
class NeuralNetwork(nn.Module):def __init__(self):super().__init__()self.flatten = nn.Flatten()self.linear_relu_stack = nn.Sequential(nn.Linear(28*28, 512),