标签:... tuple int channels 卷积 详解 输入 复写 Conv2d
文档注释
def __init__(self,
in_channels: int,
out_channels: int,
kernel_size: tuple[int, ...],
stride: tuple[int, ...] = 1,
padding: str = 0,
dilation: tuple[int, ...] = 1,
groups: int = 1,
bias: bool = True,
padding_mode: str = 'zeros',
device: Any = None,
dtype: Any = None) -> None
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes:
import torch.nn as nn
import torch.nn.functional as F
Conv2d
要求输入(N , C , h , w )= ( 样本数 , 通道数 ,高度 ,宽度 ),Conv1d...类比
channel 通道控制组
in_channels
:输入通道数,对输入的限制
out_channels
: 输出通道数,要求卷积层有对应数量的卷积核,影响模型参数数量
h,w 控制组
kernel_size
:卷积核维度,int => (int,int) 或 tuple
stride
:卷积核移动步长,int/tuple 同上
padding
:给输入h,w边界填充值,一般用于控制输出维度是否变化、上下文信息是否合并 padding_mode
:填充的值
dilation
:卷积区域扩张量,1:输入tensor卷积区域于卷积核一样大 2:卷积区域节点间距离1 ,依次类推 图像示例
公式推导:
源头 :Hout = (H - [(d-1)*(k-1) + k]) // Strid + 1
,解释如下:
-
//
整除左侧为输入H方向 除去初始占位长度 剩余可移动长度-
H
为输入总长度 ,(d-1)*(k-1) + k
:扩展空格区域+实际卷积区域=初始所占长度
-
-
//
整除右侧整除步长,即剩余的长度可容许 几次步长 移动,必须是整除 -
+1
初始占位区域经过映射后也会产生一个值到 输出tensor中,所以 +1
标签:...,tuple,int,channels,卷积,详解,输入,复写,Conv2d 来源: https://www.cnblogs.com/lhx9527/p/16260703.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。