MindSpore算子笔记-nn.conv2d

本文详细介绍了MindSpore中的nn.Conv2d算子,讲解了卷积神经网络的基础原理,参数设置,包括in_channels、out_channels、kernel_size、stride、pad_mode等,并探讨了不同填充模式的影响。同时,提到了权重和偏差的初始化方法。
摘要由CSDN通过智能技术生成

背景

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

nn.Conv2d计算的是二维卷积操作。在给定输入和卷积核的情况下,它会计算出输出的大小和参数个数。根据引用\[2\]中的公式,假设输入尺寸为\[C_in, H, W\],输出大小的计算公式为\[C_out, (H-K+2*P)/S+1, (W-K+2*P)/S+1\],其中C_in是输入通道数,H和W是数据的尺寸,K是核大小,P是padding大小,S是步长stride大小。而参数个数的计算公式为C_out*K*K+C_out,其中C_out是输出通道数,K是核大小。所以,对于给定的输入和卷积核,我们可以使用这些公式来计算输出的大小和参数个数。 #### 引用[.reference_title] - *1* [Pytorch复习笔记--nn.Conv2d()和nn.Conv3d()的计算公式](https://blog.csdn.net/weixin_43863869/article/details/129784028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [pytorch nn.conv2d参数个数计算](https://blog.csdn.net/u012428169/article/details/114702453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【笔记nn.Conv2dnn.ConvTranspose2d:参数说明,卷积、反卷积后 图像的尺寸 计算公式](https://blog.csdn.net/nyist_yangguang/article/details/119874463)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值