ptorch conv2d和linear还有maxpool
nn.Conv2d就是pytorch中定义的的一个普通的类,可以很方便的实现二维的卷积,输入输出必须是四维张量,另外它有五个主要的参数,
in_channels
(输入的通道数)
out_channels
(输出的通道数)
kernel_size
(卷积核的大小)
stride
(卷积核移动的步长)
padding
(是否对被卷的张量做填充).
除此以外,还有
dilation
:决定是否采用空洞卷积,默认为1(不采用)。这个参数的意义是从卷积核上的一个参数到另一个参数所需走过的距离,所以就默认为1.
groups
:决定了是否采用分组卷积,默认为1。groups的参数决定了将输入的channels分为几组,而每组channel会被重用几次是由输入的channel数相应计算才知道,这也要求了groups需要被out_channel&in_channel整除。例如输入输出channel都为6时,设定groups=3,那么会将in_channel分为3组,每个out_channel由2个in_channel得到,每组in_channel重复使用两次。
bias
:是否添加偏置,默认为true。
padding_mode
:即padding的填充模式,默认采用零填充
nn.Linnear()用于在网络中设置全连接层,需要注意在二维的图像处理任务中,全连接层的输入和输出一般都设置为二维张量。
形状通常为[batch_size,size]
通常形式为:torch.nn.Linear(in_features,out_features,bias = True)
其中in_features
指的是输入的二维张量的大小,即输入的[batch_size,size]
中的size。
out_features
同理于输入,是输出的[batch_size,size]
中的size。
bias
默认为true。
MaxPool2d()可以维输入信号的输入通道,提供2维最大池化操作
通常形式为 torch.nn.MaxPool2d(kernel_size,stride=None,padding=0,dilation=1,return_indices=False,cell_mode=False)
其中
kernel_size:max pooling的窗口大小,即是输出层中一个元素对应的输入层中感受野的大小。
stride:步长,即是两个相邻的感受野之间相互对应的元素之间的距离。
padding:填充,与卷积的填充类似。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人