当前位置: 首页 > news >正文

pytorch【Conv2d参数介绍】

def __init__(
        self,
        in_channels: int,
        out_channels: int,
        kernel_size: _size_2_t,
        stride: _size_2_t = 1,
        padding: _size_2_t = 0,
        dilation: _size_2_t = 1,
        groups: int = 1,
        bias: bool = True,
        padding_mode: str = 'zeros'  # TODO: refine this type
    ):

in_channels:网络输入的通道数。
out_channels:网络输出的通道数。
kernel_size:卷积核的大小,如果该参数是一个整数q,那么卷积核的大小是qXq。
stride:步长。是卷积过程中移动的步长。默认情况下是1。一般卷积核在输入图像上的移动是自左至右,自上至下。如果参数是一个整数那么就默认在水平和垂直方向都是该整数。如果参数是stride=(2, 1),2代表着高(h)进行步长为2,1代表着宽(w)进行步长为1。
padding:填充,默认是0填充。
dilation:扩张。一般情况下,卷积核与输入图像对应的位置之间的计算是相同尺寸的,也就是说卷积核的大小是3X3,那么它在输入图像上每次作用的区域是3X3,这种情况下dilation=0。当dilation=1时,表示的是下图这种情况。
在这里插入图片描述
groups:分组。指的是对输入通道进行分组,如果groups=1,那么输入就一组,输出也为一组。如果groups=2,那么就将输入分为两组,那么相应的输出也是两组。另外需要注意的是in_channels和out_channels必须能整除groups。
bias:偏置参数,该参数是一个bool类型的,当bias=True时,表示在后向反馈中学习到的参数b被应用。
padding_mode:填充模式, padding_mode=‘zeros’表示的是0填充

二、通过调整参数来感受这些参数
1、结果1

import torch
import torch.nn as nn

# 输入是一个N=20,C=16,H=50,W=100的向量
m = nn.Conv2d(16, 33, 3, stride=2)
input = torch.randn(20, 16, 50, 100)
output = m(input)

print(output.size())

一张图片 X,其大小为 X.shape = [N, C, H, W], 其中 N 表示batch size;C表示 feature maps 的数量,又称之为通道数;H 表示图片的高度,W表示图片的宽度

在nn.Conv2d()中第一个参数要和输入的通道数相同(16)。在nn.Conv2d()中第二个参数表示输出的通道数。输出中N=20不变,C=33。通过3X3的卷积核、步长为2,50X100的输入变成了24X49。

torch.Size([20, 33, 24, 49])

相关文章:

  • 专做负面的网站/站长工具a级
  • 手机移动端网站建设宣传/外包推广服务
  • 网站品牌建设/seo首页排名优化
  • 做公众号排版的网站/宁波seo快速优化平台
  • 用tp5做网站/sem竞价广告
  • 网页设计:编程学习网站素材/html友情链接
  • 初学者C语言练习题-入门
  • 跨境电商必知:这7种实用的保留策略,可以有效减少客户流失
  • 激光雷达对植被冠层结构和SIF同时探测展望
  • 代码随想录算法训练营第七天 | 454.四数相加II ,383. 赎金信 ,15. 三数之和,18. 四数之和
  • Go map 实现原理
  • 致 Tapdata 开源贡献者:聊聊 2022 年的进展和新一年的共建计划
  • Node.js+Vue.js全栈开发王者荣耀手机端官网和管理后台(二) || 后台及接口完结篇
  • vs code中的platformIO插件,完成Arduino的程序编写,导入,安装开发板管理库
  • GW1NSR-LV4CQN48GC6/I5 FPGA呼吸灯
  • 面向对象设计 SOLID 原则和python例子
  • Spring Data Jpa如何实现审计和乐观锁功能
  • 【基于crul库编写源码实现上传文件到http服务器】