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:填充,与卷积的填充类似。
浙公网安备 33010602011771号