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

【动手学深度学习】6.3 填充与步幅(个人向笔记)

  • 卷积的输出形状取决于输入形状和卷积核的形状
  • 在应用连续的卷积后,我们最终得到的输出大小远小于输入大小,这是由于卷积核的宽度和高度通常大于1导致的
  • 比如,一个 240 × 240 240×240 240×240像素的图像,经过10层 5 × 5 5×5 5×5的卷积后,将减少到 200 × 200 200×200 200×200像素。如此一来,原始图像的边界丢失了许多有用信息。而填充是解决此问题最有效的方法
  • 有时,我们可能希望大幅降低图像的宽度和高度。例如,如果我们发现原始的输入分辨率十分冗余。步幅则可以在这类情况下提供帮助。

1. 填充

  • 上面提到我们在应用多层卷积的时候常常丢失边缘像素
  • 解决此问题的简单方法就是填充:在输入图像的边界填充元素(通常是0)
  • 下图就是一个填充的例子
    在这里插入图片描述
  • 通常,如果我们添加 p h p_h ph 行填充,大约一半在顶部一半在底部,和 p w p_w pw 列填充,大约一半在左边一半在右边,那么输出的形状就会变为如下所示
    在这里插入图片描述
  • 这就意味着输出的高度和宽度分别增加 p h p_h ph p w p_w pw
  • 在许多情况下我们会设置 p h = k h − 1 p_h=k_h-1 ph=kh1 p w = k w − 1 p_w=k_w-1 pw=kw1,使输入和输出具有相同的高度和宽度。这样可以在构建网络时更容易预每个图层的输出形状。
  • 如果 k h k_h kh 为奇数,那么我们将在高度的两侧填充 p h / 2 p_h/2 ph/2 行。而如果 k h k_h kh 是偶数,则另一种可能性就是在顶部输入填充 p h / 2 p_h/2 ph/2 上取整,而对底部下取整。宽度同理
  • 而卷积神经网络中卷积核的高度和宽度通常为奇数。选择计数的好处是保持空间维度的同时可以在顶部和底部填充数量相同的行,在左侧和右侧填充相同适量的列
  • 对于任何二维张量 x,当满足:① 卷积核的大小是奇数 ② 所有边的填充行数和列数相同 ③ 输出与输入具有相同的宽度和高度。那么我们就可以说输出 V[i,j] 是通过以输入 X[i,j] 为中心,与卷积核进行互相关计算得到的
  • 在下面给出上面所述情形的一个例子
    在这里插入图片描述
  • 当卷积核的高度和宽度不同时,我们可以填充不同的高度和宽度,如下图所示
    在这里插入图片描述

2. 步幅

  • 有时为了高效计算或缩减采样次数,卷积窗口可以跳过中间位置,每次滑动多个元素
  • 我们将每次滑动元素的数量称为步幅,目前为止我们只使用过高度或者宽度为1的步幅
  • 下图是垂直步幅为 3,水平步幅为 2 的互相关运算。着色部分是输出元素以及用于输出计算的输入和内核张量元素
    在这里插入图片描述
  • 通常,当垂直步幅为 s h s_h sh,水平步幅为 s w s_w sw 时,输出形状为:
    在这里插入图片描述
  • 如果我们设置了 p h = k h − 1 p_h=k_h-1 ph=kh1 p w = k w − 1 p_w=k_w-1 pw=kw1,那么输出形状将简化为如下
    在这里插入图片描述
  • 如果更进一步,输入和输出的高度和宽度可以被垂直和水平步整除的话,输出形状可以被进一步简化为
    在这里插入图片描述
  • 下面我们将高度和宽度的步幅都设置为2,从而将输入的高度和宽度都减半
    在这里插入图片描述
  • 下面是一个稍微复杂的例子
    在这里插入图片描述
  • 然而在实践中我们很少用不一致的步幅和填充

相关文章:

【动手学深度学习】6.3 填充与步幅(个人向笔记)

卷积的输出形状取决于输入形状和卷积核的形状在应用连续的卷积后,我们最终得到的输出大小远小于输入大小,这是由于卷积核的宽度和高度通常大于1导致的比如,一个 240 240 240240 240240像素的图像,经过10层 5 5 55 55的卷积后&am…...

【宝可梦】游戏

pokemmo https://pokemmo.com/zh/ 写在最后:若本文章对您有帮助,请点个赞啦 ٩(๑•̀ω•́๑)۶...

docker启动的rabbitmq如何启动其SSL功能

docker run --hostname my-rabbit --name my-rabbit -p 5671:5671 -p 15671:15671 -p 15672:15672 -e RABBITMQ_DEFAULT_USERabc -e RABBITMQ_DEFAULT_PASSabc -d rabbitmq:4.0-management 使用docker的复制命令将ca.crt、server.crt和server.key文件复制到容器的/etc/server_s…...

易基因: cfMeDIP-seq揭示cfDNA甲基化高效区分原发性和转移性前列腺|Nat Commun

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 前列腺癌(Prostate cancer,PCa)是男性中第二常见的恶性肿瘤,也是全球癌症相关死亡的第三大原因。虽然大多数原发性前列腺癌可以治愈&#…...

CMake 教程跟做与翻译 4

目录 添加一个option! 添加一个option! option,正如其意,就是选项的意思。我们这里需要演示一下option的做法。 option对于大型的工程必然是非常常见的:一些模块会被要求编译,另一些客户不准备需要这些模块。option就是将这种需…...

MySQL面试题分享

慢日志(了解) 慢日志开启的变量:slow_query_logON; 如果值为 OFF ,那就是没有开启慢日志 耗时: long_query_time,默认是10秒 redis 和 mysql 慢日志的区别 redis 慢日志默认是没有开启的 mysql 慢日志默认是开启的…...

vue路由缓存问题

什么是路由缓存问题 解决方案&#xff1a; 让组件实例不再复用&#xff0c;强制销毁重建监听路由变化&#xff0c;变化之后执行数据更新操作 方法一 给 routerv-view 添加key属性&#xff0c;强制不添加缓存&#xff0c;破坏缓存&#xff0c;所以这个方法性能会比较差 <Ro…...

RabbitMQ中如何解决消息堆积问题,如何保证消息有序性

RabbitMQ中如何解决消息堆积问题 如何保证消息有序性 只需要让一个消息队列只对应一个消费者即可...

python爬虫案例——selenium爬取淘宝商品信息,实现翻页抓取(14)

文章目录 1、任务目标2、网页分析3、代码编写3.1 代码分析3.2 完整代码1、任务目标 目标网站:淘宝(https://www.taobao.com/) 任务要求:通过selenium实现自动化抓取 淘宝美食 板块下的所有商品信息,并实现翻页抓取,最后以csv格式将数据保存至本地;如: 2、网页分析 首先…...

在VSCode中使用Excalidraw

概述 Excalidraw是一款非常不错的示意图绘制软件&#xff0c;没想到在VSCode中有其扩展&#xff0c;可以在VScode中直接使用。 安装扩展 使用 需要创建.excalidraw.svg、.excalidraw或.excalidraw.png等名称的文件。 搭配手写版使用 自由画笔工具可以配合手写板&#xff0c…...

25中国投资中投笔试测评秋招校招SHL笔试题型分享

✅中投公司不必过多介绍&#xff0c;和建总都位于金融央企第一档&#xff0c;但是招人更少&#xff0c;竞争更为激烈&#xff0c;看公示录用名单都是清北的金融硕士&#xff0c;投资岗难度更大。 ✅中投公司的笔试往年都是shl系统&#xff0c;但考察范围非常广&#xff0c;包含…...

【LeetCode热题100】分治-快排

本篇博客记录分治快排的4道题目&#xff1a;颜色分类、排序数组、数组中的第K个最大元素、数组中最小的N个元素&#xff08;库存管理&#xff09;。 class Solution { public:void sortColors(vector<int>& nums) {int n nums.size();int left -1,right n;for(int…...

Docker 教程四 (Docker 镜像加速)

Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难&#xff0c;此时可以配置镜像加速器。 目前国内 Docker 镜像源出现了一些问题&#xff0c;基本不能用了&#xff0c;后期能用我再更新下。* Docker 官方和国内很多云服务商都提供了国内加速器服务&#xff0c;例如…...

各类排序详解

前言 本篇博客将为大家介绍各类排序算法&#xff0c;大家知道&#xff0c;在我们生活中&#xff0c;排序其实是一件很重要的事&#xff0c;我们在网上购物&#xff0c;需要根据不同的需求进行排序&#xff0c;异或是我们在高考完报志愿时&#xff0c;需要看看院校的排名&#…...

【c语言——指针详解(4)】

文章目录 一、回调函数是什么&#xff1f;二、qsort的使⽤1、使⽤qsort函数排序整型数据2、使⽤qsort排序结构数据 三、qsort函数的模拟实现 作者主页 一、回调函数是什么&#xff1f; 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针&#xff08;地址&#xf…...

C# (.net6)实现Redis发布和订阅简单案例

概念&#xff1a; 在 .NET 6 中使用 Redis 的/订发布阅模式。发布/订阅&#xff08;Pub/Sub&#xff09;是 Redis 支持的一种消息传递模式&#xff0c;其中一个或多个发布者向一个或多个订阅者发送消息,Redis 客户端可以订阅任意数量的频道。 多个客户端可以订阅一个相同的频道…...

【golang】gorm 使用map实现in 条件查询用法

当 where 字典的值为数组时 gorm 会自动转换为条件 IN 查询 where : map[string]interface{}{} where["id"] [1,2,3] where["name"] "zhangsan"type userList struct {Id int "gorm:id"Name string "gorm:name" } Table.…...

理论篇| 移动端爬虫

移动应用的快速发展和广泛普及带来了海量的数据,这些数据对于市场分析、用户行为洞察和业务优化具有重要价值。然而,由于移动应用的特殊性和防护措施,传统的爬虫技术在采集移动应用数据方面面临许多挑战。因此,App爬虫采集与逆向在爬虫领域的重要性不可低估 然而,App采集…...

systemd实现seatunnel自动化启停

在 systemd 中,您可以通过配置服务单元文件来设置服务在失败或退出后自动重启。这对于确保关键服务在意外退出时能够自动恢复运行非常有用。下面是实现 systemd 自动重启服务的步骤: 通用操作 1. 创建或编辑服务单元文件 假设服务单元文件位于 /etc/systemd/system/my-ser…...

MySQL-08.DDL-表结构操作-创建-案例

一.MySQL创建表的方式 1.首先根据需求文档定义出原型字段&#xff0c;即从需求文档中可以直接设计出来的字段 2.再在原型字段的基础上加上一些基础字段&#xff0c;构成整个表结构的设计 我们采用基于图形化界面的方式来创建表结构 二.案例 原型字段 各字段设计如下&…...

如何在Mac上免费一键解锁CrossOver游戏兼容性:CXPatcher完全指南

如何在Mac上免费一键解锁CrossOver游戏兼容性&#xff1a;CXPatcher完全指南 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 想在Mac上流畅运行Windows游戏…...

Windows平台终极ADB驱动环境一键配置指南:告别繁琐,专注开发

Windows平台终极ADB驱动环境一键配置指南&#xff1a;告别繁琐&#xff0c;专注开发 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com…...

通过curl命令快速测试Taotoken多模型API的响应

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过curl命令快速测试Taotoken多模型API的响应 在开发调试或服务器环境部署初期&#xff0c;有时你可能需要一种轻量、直接的方式来…...

别再傻傻分不清!CANoe里CAPL节点到底该放Measurement Setup还是Simulation Setup?

CANoe实战指南&#xff1a;CAPL节点在Measurement与Simulation Setup中的精准选择策略 在汽车电子系统开发与测试领域&#xff0c;CANoe作为行业标准工具&#xff0c;其CAPL&#xff08;CAN Access Programming Language&#xff09;节点的正确配置直接影响测试结果的准确性和可…...

保姆级教程:在Ubuntu 22.04上用ROS2 Humble和Gazebo搞定TurtleBot3仿真(从安装到建图导航)

保姆级教程&#xff1a;在Ubuntu 22.04上用ROS2 Humble和Gazebo搞定TurtleBot3仿真&#xff08;从安装到建图导航&#xff09; 机器人操作系统&#xff08;ROS&#xff09;正在重塑现代机器人开发流程。作为ROS2的最新长期支持版本&#xff0c;Humble Hawksbill为开发者带来了更…...

LangGraph Agent 开发指南(9~工具 Tools)

一、什么是工具&#xff1f; 1.1 通俗解释 想象你有一个智能助手&#xff1a; 没有工具&#xff1a;你: 帮我查一下北京明天的天气助手: 抱歉&#xff0c;我没有联网功能&#xff0c;无法查询实时天气有工具&#xff1a;你: 帮我查一下北京明天的天气助手: 好的&#xff0c;…...

终极指南:如何为yt-dlp-gui扩展新的视频平台支持

终极指南&#xff1a;如何为yt-dlp-gui扩展新的视频平台支持 【免费下载链接】yt-dlp-gui Windows GUI for yt-dlp 项目地址: https://gitcode.com/gh_mirrors/yt/yt-dlp-gui 你是否曾遇到过想要下载某个小众视频平台的视频&#xff0c;却发现yt-dlp-gui无法识别链接&am…...

5个关键场景掌握openpilot:开源自动驾驶系统的实战指南

5个关键场景掌握openpilot&#xff1a;开源自动驾驶系统的实战指南 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trendi…...

STM32F407霸天虎开发板I2C驱动OLED避坑指南:从CubeMX配置到显示中文全流程

STM32F407霸天虎开发板I2C驱动OLED避坑指南&#xff1a;从CubeMX配置到显示中文全流程 在嵌入式开发中&#xff0c;OLED显示屏因其高对比度、低功耗和轻薄特性成为许多项目的首选显示方案。本文将深入探讨如何基于STM32F407霸天虎开发板&#xff0c;通过HAL库和I2C接口高效驱动…...

PhonePi-MCP:基于MCP协议实现AI智能体自动化操控Android手机

1. 项目概述&#xff1a;当你的手机成为AI的“眼睛”与“双手” 最近在折腾AI智能体&#xff08;Agent&#xff09;时&#xff0c;我一直在思考一个问题&#xff1a;如何让这些运行在云端或本地电脑上的“大脑”真正地与现实世界互动&#xff1f;比如&#xff0c;让它帮我查一…...