动手学深度学习22 池化层

动手学深度学习22 池化层

  • 1. 池化层
  • 2. 实现
  • 3. QA

课本: https://zh-v2.d2l.ai/chapter_convolutional-neural-networks/pooling.html
视频: https://www.bilibili.com/video/BV1EV411j7nX/?spm_id_from=autoNext&vd_source=eb04c9a33e87ceba9c9a2e5f09752ef8

1. 池化层

降低卷积层对位置信息的敏感度。
用滑动窗口计算输出,但是没有核计算这些东西。即没有要学的东西,不会把模型变大。
不会融合通道-输入输出通道保持一致。多通道融合可以交给卷积层操作,池化层不用处理。
平均池化层–柔和很多。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 实现

视频: 【22 池化层【动手学深度学习v2】】 https://www.bilibili.com/video/BV1EV411j7nX/?p=2&share_source=copy_web&vd_source=068b8a252d010fd4d953e492cadc91de

import torch
from torch import nn
from d2l import torch as d2l# 手动实现前向传播。
def pool2d(X, pool_size, mode='max'):p_h, p_w = pool_sizeY = torch.zeros((X.shape[0] - p_h + 1, X.shape[1] - p_w + 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):if mode == 'max':Y[i, j] = X[i: i + p_h, j: j + p_w].max()elif mode == 'avg':Y[i, j] = X[i: i + p_h, j: j + p_w].mean()return YX = torch.tensor([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]])
# 最大池化层
print(pool2d(X, (2, 2)))
# 平均池化层
print(pool2d(X, (2, 2), 'avg'))X = torch.arange(16, dtype=torch.float32).reshape((1, 1, 4, 4))
print(X)# 一般滑动窗口shape(3,3) 和步幅shape一致(3,3)
pool2d = nn.MaxPool2d(3)
print(pool2d(X))
# 填充和步幅可以手动设定。
pool2d = nn.MaxPool2d(3, padding=1, stride=2)
print(pool2d(X))
# 设定一个任意大小的矩形汇聚窗口,高宽任意
pool2d = nn.MaxPool2d((2, 3), stride=(2, 3), padding=(0, 1))
print(pool2d(X))
# 多通道输入
X = torch.cat((X, X + 1), 1)
print(X)
pool2d = nn.MaxPool2d(3, padding=1, stride=2)
print(pool2d(X))
tensor([[4., 5.],[7., 8.]])
tensor([[2., 3.],[5., 6.]])
tensor([[[[ 0.,  1.,  2.,  3.],[ 4.,  5.,  6.,  7.],[ 8.,  9., 10., 11.],[12., 13., 14., 15.]]]])
tensor([[[[10.]]]])
tensor([[[[ 5.,  7.],[13., 15.]]]])
tensor([[[[ 5.,  7.],[13., 15.]]]])
tensor([[[[ 0.,  1.,  2.,  3.],[ 4.,  5.,  6.,  7.],[ 8.,  9., 10., 11.],[12., 13., 14., 15.]],[[ 1.,  2.,  3.,  4.],[ 5.,  6.,  7.,  8.],[ 9., 10., 11., 12.],[13., 14., 15., 16.]]]])
tensor([[[[ 5.,  7.],[13., 15.]],[[ 6.,  8.],[14., 16.]]]])

3. QA

待补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF_RE周报(五)

这周感觉题目都开始上难度了,很多题都需要很多的基础知识,也是练到哪学到那,所以刷题的速度还是降了一点 angr符号化执行 上上周就已经遇到了,这周一个buu题也是可以用,就开始学学了,目前还差一半 [WUST…

算法刷题笔记 高精度加法(C++实现)

文章目录 题目描述题目思路和代码 题目描述 给定两个正整数(不含前导0),计算它们的和。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,包含所求的和。 题目思路和代码 基本思路:模拟竖式计算…

关于单元测试

关于单元测试的一些总结:

【408真题】2009-17

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

618值得买的东西有哪些?买什么最划算?超全品类大清单总结

平日里让许多人心动不已的收藏加购好物,是否常常因为价格昂贵而让人望而却步?然而,618活动期间的到来,恰恰为我们提供了一个难得的购物盛宴!相信在第一波活动中,许多消费者已经跃跃欲试,开始享受…

SuperSocket 自定义AppServer、AppSession、CommandBase

1、预期效果如下图。 2、自定义AppServer,代码如下。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SuperSocket.SocketBase; using SuperSocket.SocketBase.Config;namespace Co…

做抖音电商,可以没有货源和经验,但不能没有耐心

我是王路飞。 在抖音做电商这件事,不需要怀疑其可行性。 经过四五年的发展,平台和商家已经证明了抖音电商的前景,它就是我们普通人做抖音最适合的一个渠道。 想在抖音做电商的,再给你们一个经验之谈,你可以没有货源…

linux 查看磁盘使用情况

在Linux系统中,你可以使用以下命令来查看磁盘的情况: 1.df命令:用于显示文件系统的磁盘空间使用情况。 df -h该命令会以人类可读的方式显示文件系统的磁盘空间使用情况,包括文件系统、已用空间、可用空间、已用百分比、挂载点等…

hudi0.13版本clean策略

hudi0.13版本clean策略 在 Apache Hudi 0.13 版本中,清理策略对于数据管理和存储优化起着关键作用。为了确保数据湖的有效利用和性能优化,了解和正确配置清理策略至关重要。以下是 Hudi 0.13 版本的清理策略详细说明及注意事项。 清理策略概述 Hudi 提…

定义字符串报错:ninja: build stopped: subcommand failed.

代码块: char c[] [a,b,c,d,e,\n];报错:ninja: build stopped: subcommand failed.解决: []改成{}

基于 Spring Boot 博客系统开发(十一)

基于 Spring Boot 博客系统开发(十一) 本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(十)&#x…

云上聚智——移动云云服务器进行后端的搭建及部署

什么是移动云 移动云是指将移动设备和云计算技术相结合,为移动应用提供强大的计算和存储能力的服务模式。传统的移动应用通常在本地设备上进行计算和存储,而移动云将这些任务转移到云端进行处理。通过移动云,移动设备可以利用云端的高性能计算…

基于Python+flask+echarts的气象数据采集与分析系统,可实现lstm算法进行预测

背景 基于PythonFlaskEcharts的气象数据采集与分析系统结合了强大的数据处理能力和可视化展示技术,旨在实现对气象数据的实时采集、存储和分析。通过Python编程语言实现数据采集模块,利用Flask框架搭建后端系统,实现数据处理、存储和分析功能…

Python库之selenium的简介、安装、使用方法详细攻略

Python库之selenium的简介、安装、使用方法详细攻略 简介 Selenium是一个强大的自动化测试工具,它支持多种编程语言的绑定,包括Python。Selenium可以用于自动化网页操作,如浏览器界面的测试、数据抓取、自动化表单填写等。它模拟了真实用户…

面试数据库八股文十问十答第七期

面试数据库八股文十问十答第七期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)索引是越多越好吗&#xff…

ORB-SLAM2从理论到代码实现(六):Tracking程序详解(上)

1. Tracking框架 Tracking线程流程框图: 各流程对应的主要函数 2. Tracking整体流程图 上面这张图把Tracking.cc讲的特别明白。 tracking线程在获取图像数据后,会传给函数GrabImageStereo、GrabImageRGBD或GrabImageMonocular进行预处理,这…

【php开发系统性学习】——thinkphp框架的控制器和视图的精简详细的使用

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

Double 4 VR虚拟情景实训教学系统在法律课堂上的应用

Double 4 VR虚拟情景实训教学系统在法律课堂上的应用: 1. 增强实践性和操作性:虚拟现实技术可以让学生进入模拟的实践环境,操作各种法律事务,从而提高实践能力和操作水平。 2. 提升学习体验:虚拟现实技术能够模拟真实的…

JSON-C库 下载安装

### JSON-C库的下载 您可以通过访问JSON-C的官方GitHub仓库来下载JSON-C库。以下是下载和安装JSON-C库的一般步骤: 1. 打开终端或命令提示符。 2. 输入以下命令来克隆JSON-C的GitHub仓库: git clone https://github.com/json-c/json-c.git …