import torch.nn as nn conv = nn.Conv2d(2, 3, 4) print(conv.weight.size()) print(conv.bias.size())
torch.Size([3, 2, 4, 4])
torch.Size([3])
所以,每一层卷积的参数总量为:3*2*4*4+2 [输入通道数*输出通道数*卷积核大小+bias(输出通道数)]
bias=0,如果设置bias=False
要计算输出feature map中的每一个通道,需要用该通道对应的卷积核去跟输入的feature map做运算,因为输入的feature map同一通道的计算是共享卷积核参数的,所以计算输出feature map中的每一个通道需要的参数量是:输入通道数*卷积核的长*宽
所有weight就是:输入通道数*卷积核的长*宽*输出的通道数,bias是每个输出通道一个
总共就是3*2*4*4+2 啦
原文:https://www.cnblogs.com/jiangnanyanyuchen/p/11886191.html