深入理解pytorch 卷积层 核子和参数

本文详细解析了卷积神经网络(Convolutional Neural Network, CNN)中卷积层的参数设置,包括权重(weight)和偏置(bias)的含义及计算方式。通过一个具体的实例,展示了如何根据输入通道数、输出通道数以及卷积核尺寸计算卷积层的参数数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In [19]: conv2 = nn.Conv2d(in_channels=3, out_channels=32, kernel_size=(4,3,2))


In [23]: for (name, param) in conv2.named_parameters():
    ...:     print(name)
  
  
weight
bias


也就是说每一个卷积层个有两个属性, 一个属性是weight, 另一个属性是bias
具体的就是conv2.weight   conv2.bias



 print(conv2.weight.shape)
torch.Size([32, 3, 4, 3, 2])

由于input_channel是3, output_channel=32, 算子的形状(fileter shape)是 4*3*2的
所以每一个算子的参数是  3*(4*3*2)== input_cahnnel * filter shape
这个卷积层有32个算子,所以一共有参数32*3*4*3*2个, 也就是conv2.weight的shape


In [44]: conv2.bias
Out[44]:
Parameter containing:
tensor([ 0.0269, -0.0939, -0.0467,  0.0744,  0.0148, -0.0733,  0.0333, -0.0539,
        -0.0310, -0.0291, -0.1154, -0.1048,  0.0117,  0.0682,  0.0352, -0.0773,
         0.0971,  0.0425, -0.0431, -0.0425, -0.0439,  0.0840, -0.0024,  0.0546,
        -0.0344,  0.0732,  0.0632, -0.0010, -0.1169,  0.1142, -0.0022,  0.0458],
       requires_grad=True)

In [45]: conv2.bias.shape
Out[45]: torch.Size([32])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值