nn.Conv2d 是 PyTorch 中的一个卷积层,用于实现二维卷积操作。其主要参数有:

  • in_channels:表示输入图像的通道数,也就是输入特征图的深度。
  • out_channels:表示输出特征图的通道数,也就是卷积核的个数。
  • kernel_size:表示卷积核的大小;可以是一个整数,表示正方形卷积核的边长;也可以是一个二元组,表示矩形卷积核的宽度和高度。
  • stride:表示卷积核的步长;可以是一个整数,表示正方形卷积核的步长;也可以是一个二元组,表示矩形卷积核在横向和纵向的步长。
  • padding:表示在输入图像周围添加的边界值的数量,以控制输出尺寸的大小。可以是一个整数,表示在四周添加相同数量的像素值;也可以是一个二元组,表示在左右、上下分别添加的像素值数量。
  • dilation:表示卷积核中各个元素之间的扩展步长,可以认为是卷积核的细节或稀疏程度,可以用来控制卷积核的超参数大小和感受野的大小。
  • groups:当输入和输出通道数不同时,可以利用 groups 参数将输入通道分组处理,将相邻的k个输入通道与相邻的k个输出通道进行卷积操作,然后将它们叠加在一起产生输出通道。这是一个非常重要的架构设计,可以大大减少模型参数量,减轻模型过拟合的风险。

nn.Conv2d 的使用方法一般如下:

import torch.nn as nn# 定义卷积层
conv = nn.Conv2d(in_channels=3, out_channels=32, kernel_size=3, stride=1, padding=1)# 输入数据
x = torch.randn(1, 3, 224, 224)# 前向计算
out = conv(x)

这里我们定义了一个输入通道数为 3,输出通道数为 32,卷积核大小为 3x3,步长为 1,边界填充数为 1 的卷积层。然后,我们定义了一个大小为 (1, 3, 224, 224) 的输入数据 x,执行前向计算得到输出 out。

注意,对于卷积操作,输入数据一般为四维张量,需要按照 batchsize × 通道数 × 高度 × 宽度的维度排列,这里 x 的大小为 (1, 3, 224, 224) 表示 batchsize 为 1,通道数为 3,输入图像的尺寸为 224x224。

nn.Conv2d详解相关推荐

  1. Tensorflow(r1.4)API--tf.nn.conv2d详解

    (一)函数简介 conv2d(input,filter,strides,padding,use_cudnn_on=True,data_format='NHWC',name=None) 1.参数: in ...

  2. PyTorch中的torch.nn.Parameter() 详解

    PyTorch中的torch.nn.Parameter() 详解 今天来聊一下PyTorch中的torch.nn.Parameter()这个函数,笔者第一次见的时候也是大概能理解函数的用途,但是具体实 ...

  3. conv2d函数_Pytorch 从0开始学(6)——Conv2d 详解

    您是否在使用Conv2d时遇见问题了呢? 您是否还在以Conv2d(128, 256, 3)的方式简单使用这个最具魅力的layer呢? 想更了解Conv2d么?让我们一起来深入看看它的真容吧,让我们触 ...

  4. conv2d 公式_Pytorch 从0开始学(6)——Conv2d 详解

    您是否在使用Conv2d时遇见问题了呢? 您是否还在以Conv2d(128, 256, 3)的方式简单使用这个最具魅力的layer呢? 想更了解Conv2d么?让我们一起来深入看看它的真容吧,让我们触 ...

  5. 【nn.LSTM详解】

    参数详解 nn.LSTM是pytorch中的模块函数,调用如下: torch.nn.lstm(input_size,hidden_size,num_layers,bias,batch_first,dr ...

  6. torch.nn.Linear详解

    在学习transformer时,遇到过非常频繁的nn.Linear()函数,这里对nn.Linear进行一个详解. 参考:https://pytorch.org/docs/stable/_module ...

  7. torch.nn.MaxPool2d详解

    注意:这里展示的是本篇博文写时的版本最新的实现,但是后续会代码可能会迭代更新,建议对照官方文档进行学习. 先来看源码: # 这个类是是许多池化类的基类,这里有必要了解一下 class _MaxPool ...

  8. PyTorch的nn.Linear()详解

    1. nn.Linear() nn.Linear():用于设置网络中的全连接层,需要注意的是全连接层的输入与输出都是二维张量 一般形状为[batch_size, size],不同于卷积层要求输入输出是 ...

  9. DepthwiseConv2D和Conv2D详解

    depthwise_conv2d和conv2d的不同之处在于conv2d在每一深度上卷积,然后求和,depthwise_conv2d卷积,不求和. [https://www.cnblogs.com/i ...

最新文章

  1. puppet运维自动化之yum仓库管理
  2. 【C#】Web页面传值小结-
  3. 分享一个PyTorch医学图像分割开源库
  4. 手把手教你搭建AI开发环境 !(附代码、下载地址)
  5. java 之持久化和序列化(反序列化)
  6. C/C++中退出线程的四种解决方法
  7. 数据库MYSQL学习系列一
  8. TF之AutoML之AdaNet框架:AdaNet框架的简介、特点、使用方法详细攻略
  9. python入门基础系列_Python3基础系列-基本入门语法
  10. Navicate Premium不能用localhost和127.0.0.1登陆sql-server,解决方法
  11. Python小知识 | 这些技能你不会?(二)
  12. catia钣金根据线段折弯_SolidWorks钣金折弯参数设置技巧
  13. lazy-mock ,一个生成后端模拟数据的懒人工具
  14. 机器学习基于语义特征的情感分析
  15. xsd文件转图片_原来华为手机能一键将图片转为PDF,实在太方便啦!你还不会吗?...
  16. 解决npm下载慢或者下载不了的问题-三种解决方法
  17. 操盘机器人新增板块资金流向分析模型,可自定义板块、分析周期以及系统自动学习功能
  18. 公路堵车概率模型:Nagel-Schreckenberg 模型模拟
  19. 《初等数论》:整除性概念及其性质、质数与合数
  20. 一致性算法-Gossip协议详解

热门文章

  1. Python实例教程Mechanize模块编写爬虫的要点解析
  2. 毕业设计论文选题系统系统用例图_毕业设计选题系统
  3. java 对大数据的处理
  4. spring boot 集成xxl-job 学习总结
  5. 1.11CSS的基本语法
  6. Docker学习(八):Docker可视化与监控
  7. PASCAL VOC2012 数据集讲解与制作自己的数据集
  8. nsfw什么颜色_“ NSFW”是什么意思,以及如何使用它?
  9. 谈谈多线程中的Future
  10. LogisticRegression函数