(1)卷积层
卷积层的参数就是卷积核的总数加上偏置数,例如一个14* 14* 6 (6为通道数)的特征图,经过5* 5* 16的卷积核,那么这层的参数为5* 5* 16* 6+16=2416个参数(注意要乘上一层的通道数)。
(2)池化层
池化层很有意思的特点就是,它有一组超参数,但并没有参数需要学习。实际上,梯度下降没有什么可学的,一旦确定了kernel的stride,它就是一个固定运算,梯度下降无需改变任何值。
(3)全连接层
全连接也有偏置的,例如一个5* 5* 16 (16是通道数)的特征图后面接一个120个节点的全连接层,那么这层全连接层的参数总共为5* 5* 16*120+120 =48120个参数。
附上pytorch打印出来的参数值:
params = list(net.parameters())
print(len(params))
for i in range(10):
print(params[i].size())
输出:
10
torch.Size([6, 1, 5, 5])
torch.Size([6])
torch.Size([16, 6, 5, 5])
torch.Size([16])
torch.Size([120, 400])
torch.Size([120])
torch.Size([84, 120])
torch.Size([84])
torch.Size([10, 84])
torch.Size([10])