Pytorch学习--神经网络--最大池化的使用

news/2024/11/1 15:59:34/

一、用法

torch.nn.MaxPool2d

torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)

在这里插入图片描述

  • kernel_size:池化窗口的大小,可以是整数或元组。
  • stride:步幅,默认为与 kernel_size 相同,决定窗口移动的距离。
  • padding:每个边缘的填充大小,默认为0。
  • dilation:控制池化窗口元素之间的间隔,默认是1。
  • return_indices:如果为 True,返回最大值的索引(默认值为 True)。
  • ceil_mode:如果为 False ,则当kernel 超过二维 tensor 时,不保留值(默认值为 False)。
    在这里插入图片描述

二、代码举例1

import torch
import torchvision
from torch import nn
from torch.nn import MaxPool2dinput = torch.tensor([[1,2,0,3,1],[0,1,2,3,1],[1,2,1,0,0],[5,2,3,1,1],[2,1,0,1,1]],dtype=float)
# maxpool 的 input 需要是四维
input = torch.reshape(input,(1,1,5,5))class Mary(nn.Module):def __init__(self):super(Mary,self).__init__()self.maxpool1 = MaxPool2d(kernel_size=3,ceil_mode=True)def forward(self,x):x = self.maxpool1(x)return x
Yorelee = Mary()
output = Yorelee(input)
print(output)

输出:

tensor([[[[2., 3.],[5., 1.]]]], dtype=torch.float64)

三、代码举例2

import torch
import torchvision
from torch import nn
from torch.nn import MaxPool2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10("datasets",False,torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset,64)class Mary(nn.Module):def __init__(self):super(Mary,self).__init__()self.maxpool1 = MaxPool2d(kernel_size=3,ceil_mode=True)def forward(self,x):x = self.maxpool1(x)return x
Yorelee = Mary()writer = SummaryWriter("logs")step = 0
for data in dataloader:img,target = datawriter.add_images("input",img,step)output = Yorelee(img)writer.add_images("output",output,step)step += 1
writer.close()

输出:
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/1543624.html

相关文章

2024年10月31日Github流行趋势

项目名称:Amphion 项目维护者:lmxue HeCheng0625 yuantuo666 RMSnow HarryHe11项目介绍:Amphion 是一个用于音频、音乐和语音生成的工具包。其目的是支持可重复的研究,并帮助初级研究人员和工程师开始音频、音乐和语音生成的研究与…

【Python3】【力扣题】409. 最长回文串

【力扣题】题目描述: (题意理解)统计如下: ① 字母个数本身是偶数。 ② 字母个数是奇数,统计奇数中的偶数部分,例如:字母个数为3,统计其中的2。 ③ 中间可以有一个奇数字母。即只要有…

MyEclipse中讲解Git使用——结合GitLab

1、什么是Git Git是分布式版本控制系统 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 2、在myeclipse安装Git插件 下载该文件,将egit.zip解压放入 myeclipse安装路径>dropins>下重新启动myeclipse EGit -…

【部署与升级-会议签到的web安装】

部署与升级-会议的远程安装 技术路线界面规划flaskAPI以及socketio.emit shellout浏览器和后端交互到处是偶遇 技术路线 运行的基础是Flask-Soketio, 并借鉴了后台运行系统指令的代码 和scrncpy项目,app安装的脚本 #mermaid-svg-8H9rbzbpgpnAXfA3 {font-family:"trebuche…

算法笔记(new)

算法 线性插值 线性插值 公式如下 线性插值公式:(x - x1) / (x2 - x1) * (y2 - y1) y1如果要计算两个区间之内的某个点所在的比例值可以用如上公式 例:假设有64个数,我随便取一个数,输出给我一个百分数,这个百分数从…

字符串逆序(c语言)

错误代码 #include<stdio.h>//字符串逆序 void reverse(char arr[], int n) {int j 0;//采用中间值法//访问数组中第一个元素和最后一个元素//交换他们的值&#xff0c;从而完成了字符串逆序//所以这个需要临时变量for (j 0; j < n / 2; j){char temp arr[j];arr[…

STM32应用详解(11)I2C驱动程序

文章目录 前言一、I2C驱动程序的编写1.I2C发送一个字节的函数2.I2C发送一串字节的函数3.I2C接收一个字节的函数4.I2C接收一串字节的函数 前言 使用STM32F103固件函数库函数&#xff0c;介绍I2C驱动程序的编写&#xff0c;包括&#xff1a;I2C发送一个字节的函数、I2C发送一串字…

CoTAM——思维属性操纵链,一种利用大规模语言模型的新的高效快速学习方法

概述 近年来&#xff0c;大规模语言模型已显示出惊人的能力&#xff0c;可以从少量样本中学习。然而&#xff0c;这种能力需要昂贵的大规模模型&#xff0c;其运行成本是一大挑战。此外&#xff0c;在推理过程中&#xff0c;需要对所有测试输入的上下文&#xff08;包括演示&a…