PyTorch Conv2d 函数详解:参数、用法及示例
"torch.nn.functional.conv2d"是PyTorch中用于进行二维卷积操作的函数。下面是该函数的参数详解:\n\n- input:输入的Tensor。输入的shape应为(N, C_in, H, W),其中N为batch size,C_in为输入通道数,H为输入的高度,W为输入的宽度。\n\n- weight:卷积核的权重。输入的shape应为(C_out, C_in, kernel_size[0], kernel_size[1]),其中C_out为输出通道数,C_in为输入通道数,kernel_size为卷积核的大小。\n\n- bias:可选参数,卷积核的偏置。输入的shape应为(C_out,),其中C_out为输出通道数。\n\n- stride:可选参数,卷积核的步长。可以是一个整数或一个元组。如果是一个整数,表示在高度和宽度上的步长都是该值;如果是一个元组,表示在高度和宽度上的步长分别是该元组中的两个值。\n\n- padding:可选参数,输入的边缘填充大小。可以是一个整数或一个元组。如果是一个整数,表示在高度和宽度上的填充大小都是该值;如果是一个元组,表示在高度和宽度上的填充大小分别是该元组中的两个值。\n\n- dilation:可选参数,卷积核的扩张。可以是一个整数或一个元组。如果是一个整数,表示在高度和宽度上的扩张都是该值;如果是一个元组,表示在高度和宽度上的扩张分别是该元组中的两个值。\n\n- groups:可选参数,控制输入和输出之间连接的方式。默认值是1,表示每个输入通道都连接到输出通道。如果groups大于1,表示输入和输出之间的连接被分组,其中每个组都具有groups个输入通道和groups个输出通道。\n\n- padding_mode:可选参数,边缘填充的模式。默认值是'zeros',表示用0进行填充。其他可选的值包括'reflect'和'replicate'。\n\n下面是一个使用torch.nn.functional.conv2d函数的示例:\n\npython\nimport torch\nimport torch.nn.functional as F\n\n# 创建输入和卷积核\ninput = torch.randn(1, 3, 32, 32)\nweight = torch.randn(6, 3, 5, 5)\n\n# 使用conv2d函数进行卷积操作\noutput = F.conv2d(input, weight, stride=1, padding=2)\n\nprint(output.shape) # 输出:torch.Size([1, 6, 32, 32])\n\n\n在上面的示例中,输入的shape是(1, 3, 32, 32),表示batch size为1,输入通道数为3,输入的高度和宽度都是32。卷积核的shape是(6, 3, 5, 5),表示输出通道数为6,输入通道数为3,卷积核的大小是5x5。stride设置为1,padding设置为2,表示在高度和宽度上的步长都是1,输入的边缘填充大小是2。最后得到的输出shape是(1, 6, 32, 32),表示batch size为1,输出通道数为6,输出的高度和宽度都是32。
原文地址: https://www.cveoy.top/t/topic/pVSk 著作权归作者所有。请勿转载和采集!