torch.nn.Conv2d() 用法讲解

Posted 我想月薪过万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了torch.nn.Conv2d() 用法讲解相关的知识,希望对你有一定的参考价值。

函数原型

nn.Conv2d(in_channels,   #输入通道数(int)
	      out_channels,   #输出通道数,等于卷积核个数(int)
	      kernel_size,   #卷积核尺寸(int or tuple)
	      stride=1,  # 步长(int or tuple, optional)
          padding=0,  # 零填充(int or tuple, optional)
          dilation=1,  # 空洞卷积大小(int or tuple, optional)
          groups=1,  # 分组卷积设置(int, optional)
          bias=True,  # 偏置(bool, optional)
          padding_mode='zeros')  #(string, optional)

卷积计算

输出的shape:
      batch:大小不变
      in_channels:=》out_channels(由自己定义的卷积核来定)
      h, w: (d_bef + 2*padding - kennel_size)/ stride + 1
             # d_bef:该维度的原始值大小; 
		     # kennel_size:卷积核在该维度的大小;
		     # padding:填充值在该维度的大小;
		     # stride:步长在该维度的大小.

代码示例

import torch
import torch.nn as nn
import torch.nn.functional as F

# 定义一个 全为 1 的张量
# 输入(batch, in_channels, h, w)
x = torch.ones(2, 3, 5, 5)
print(x.shape) # torch.Size([2, 3, 2, 5])

# 定义一个卷积方式
conv = nn.Conv2d(3,5,3)
print(conv)

# 进行卷积
y = conv(x)
print(y.shape)

效果展示

以上是关于torch.nn.Conv2d() 用法讲解的主要内容,如果未能解决你的问题,请参考以下文章

pytorch 笔记:torch.nn.Conv2d

torch.nn.Conv2d()函数详解

Pytorch CNN的各种参数

如何在 pytorch conv2d 中制作过滤器

pytorch

奉献pytorch 搭建 CNN 卷积神经网络训练图像识别的模型,配合numpy 和matplotlib 一起使用调用 cuda GPU进行加速训练