MindSpore算子笔记-nn.conv2d

背景

nn.conv2d是卷积神经网络中最重要的成员,由Lecun等AI大神在1998年的论文中首次提出,其基本原理是对一个传入格式为(N,Cin,Hin,Win)的四维张量根据设定长宽的卷积核在Hin和Win维进行2d卷积运算,求解出卷积结果后,移动设定的步长再次执行卷积,依次计算得到所有位置的结果。具体实现可参考论文:http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf

nn.Conv2d参数介绍

in_channels(int)—输入通道Cin的数量。

out_channels(int)—输出通道Cout的数量。

kernel_size(Union[int,tuple[int]])—数据类型为int或tuple,需为整数。指定二维卷积窗口的高度和宽度。单个int表示卷积核的高度和宽度的值如果是一个包含2个整数的元组,意味着第一个值代表卷积核的高度,另一个表示卷积核的宽度。

stride(Union[int,tuple[int]])—卷积核移动的距离,单个int表示移动的高度和宽度都是int,两个int数组成的元组分别表示移动的高度和宽度。默认值:1。

pad_mode (str) —指定填充模式。可选值为“same”、“valid”、“pad”。默认值:“same”。

– same:采用补全方式。输出的高度和宽度将与输入的高度和宽度相同。将计算水平和垂直方向的填充总数,并在可能的情况下均匀分布到顶部和底部,左侧和右侧。否则,最后的额外填充将从底部和右侧开始。如果设置了此模式,则填充必须为0。

– valid:采用丢弃方式。输出的可能最大的高度和宽度将返回而无需填充。多余的像素将被丢弃。如果设置了此模式,则填充必须为0。

– pad:输入两侧的隐式填充。填充数量将填充到输入张量边界。填充值应大于或等于0。

padding(int)–输入两侧的隐式填充,当模式为pad时生效。默认值:0

dilation(Union [int,tuple [int]])–数据类型为int或具有2个整数的元组。指定用于膨胀卷积的膨胀率。如果设置为k> 1,则每个采样位置将跳过k-1个像素。其值应大于或等于1,并以输入的高度和宽度为边界。默认值:1。

group(int)–将过滤器分为几组,in_channels和out_channels应该被组数整除。默认值:1。

has_bias(bool)–指定图层是否使用偏差矢量。默认值:False。

weight_init(Union [Tensor,str,Initializer,numbers.Numb

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值