深度学习搬砖

卷积原理

'''卷积操作是如何进行求积,求和的'''
import torch 
from torch import nn
conv1=nn.conv2d(2,3,3,1,0,bias=False)
# Conv2d(2, 3, kernel_size=(3, 3), stride=(1, 1), bias=False)
nn.init.constant_(c.weight,1)

conv1.weight
'''
卷积核权重 [3,2,3,3],3组filters,每组2channels,3x3大小
Parameter containing:
tensor([[[[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]],

         [[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]]],


        [[[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]],

         [[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]]],


        [[[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]],

         [[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]]]], requires_grad=True)
'''

#数据
data=torch.Tensor([[[[0., 0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0., 0.]],

         [[1., 1., 1., 1., 1., 1.],
          [1., 1., 1., 1., 1., 1.],
          [1., 1., 1., 1., 1., 1.],
          [1., 1., 1., 1., 1., 1.],
          [1., 1., 1., 1., 1., 1.],
          [1., 1., 1., 1., 1., 1.]]]])
#torch.Size([1, 2, 6, 6])

conv1(data)
'''
输出[3,4,4]
tensor([[[[9., 9., 9., 9.],
          [9., 9., 9., 9.],
          [9., 9., 9., 9.],
          [9., 9., 9., 9.]],

         [[9., 9., 9., 9.],
          [9., 9., 9., 9.],
          [9., 9., 9., 9.],
          [9., 9., 9., 9.]],

         [[9., 9., 9., 9.],
          [9., 9., 9., 9.],
          [9., 9., 9., 9.],
          [9., 9., 9., 9.]]]], grad_fn=<ThnnConv2DBackward>)
'''

卷积结果相等,说明卷积的操作方式为,参数为input_channes=2,output_channels=3,3组卷积,每组2个卷积核,对拥有2个channel的data分别计算(卷积核与各自对应channel相乘,再求和s),最后两组结果再求和,即s1=s+s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值