卷积与反卷积

文章目录

  • 1 卷积
    • 1.1 卷积后的输出维度
  • 2 反卷积
    • 2.1 来源
    • 2.2 原理
    • 2.3 使用
      • 2.3.1 padding
      • 2.3.2 stride
      • output_padding
    • 2.3 意义

1 卷积

1.1 卷积后的输出维度

设输入维度为i x i,卷积核大小为k x k,padding为p,strides为s,则输出维度为 (i - k + 2p) / s +1
注意:除法为向下取整的除法,即3 / 2 = 1。
i - k是不考虑padding的情况下,卷积核能纵向/横向移动的次数

2 反卷积

2.1 来源

反卷积/转置卷积的操作是在《Visualizing and Understanding Convolutional Networks》中提出来的。
其只能恢复原来的大小,不能恢复原来的数值。
可参考:https://zhuanlan.zhihu.com/p/48501100《反卷积(Transposed Convolution)详细推导》

2.2 原理

A deconvolutional layer is simply a regular convolutional layer with its filters transposed. By applying these transposed filters to the output of a convolutional layer, the input can be retrieved.

2.3 使用

class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, bias=True)
详细参考:https://blog.csdn.net/disanda/article/details/105762054

2.3.1 padding

padding的含义不是卷积的padding的含义,理解为kernel向输入层中间移动的次数。
padding为0时,在input(蓝色2 x 2)外面填充k - 1 = 2层
padding为1时,在input外面填充k - 2 = 1层。
下图是padding为0时的例子。
在这里插入图片描述

2.3.2 stride

stride是输入之间的距离,默认为1。
如果stride为2,那么每个输入之间相隔1个。
下图是stride=2的例子。
在这里插入图片描述

output_padding

由于卷积涉及到向下取整,所以在输出维度一定时,对应了多个可能的输入维度,可能的个数为【步长stride】。因此采用out_padding进行确定。
参考:https://zhuanlan.zhihu.com/p/485999111《【深度学习反卷积】Pytorch中反卷积的应用》

2.3 意义

反卷积是一种上采样的方法,除此之外还有反池化和双线性差值bilinear。
在图像领域可以做segmentation,在很多领域可以做cost volume。

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

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

相关文章

APM建设踩了哪些坑?去哪儿旅行分布式链路追踪系统实践

一分钟精华速览 分布式链路追踪系统在企业的APM体系中扮演着重要的角色。本文分享了去哪儿旅行构建分布式链路追踪系统的实践经验。从APM整体架构设计入手,讲述了日志收集、Kafka传输和Flink任务处理等环节的性能优化实践和踩坑经验。 同时,作者结合丰…

C/C++数据结构之顺序表函数实现以及详细解析

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.前言 2.顺序表…

删除链表的倒数第 N 个结点

LeetCode 19. 删除链表的倒数第 N 个结点 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *n…

定积分的几何应用(总结非常全面!)

文章目录 1 原函数存在性和可积性1.1 函数可积的充分条件(判定条件)1.2 函数存在原函数的充分条件(判定条件)1.3 函数可积的必要条件(性质)1.4 变上限积分的性质 2 平面图形2.1 平面图形的面积2.1.1 直角坐…

【ES专题】ElasticSearch集群架构剖析

目录 前言阅读对象阅读导航前置知识笔记正文一、ES集群架构1.1 为什么要使用ES集群架构1.2 ES集群核心概念1.2.1 节点1.2.1.1 Master Node主节点的功能1.2.1.2 Data Node数据节点的功能1.2.1.3 Master Node主节点选举流程 1.2.2 分片1.3 搭建三节点ES集群1.3.1 ES集群搭建步骤1…

解析python爬取Ebay数据的方式

前言 Ebay是全球著名的电子商务平台之一,每天都有海量的商品信息涌入其中,在电商行业获取这些数据试试非常有价值的,为了更好地了解市场动态,掌握更多的电商行情。Python爬虫成为了必不可少的工具,本文将通过使用Http…

idea中配置spring boot单项目多端口启动

参照文章 https://zhuanlan.zhihu.com/p/610767685 项目配置如下 下面为 idea 2023,不同版本的设置有区别,但是没那么大,idea 2023默认使用新布局,切换为经典布局即可。 在项目根目录的.idea/workspace.xml文件里添加如下配置 &l…

高等数学教材重难点题型总结(十二)无穷级数

最后一更!原谅博主已经开始瞎写字了,最近压力太大,以后有时间用mathPix打出来,看起来更舒适一些~ 高数最后一章,重点在于审敛法和求解幂级数的收敛半径~ 高数基础笔记全部更新完毕,共12*336期&#xff0c…

SpringBoot项目多环境开发

1.yml文件(旧) 说明:旧的写法。 #应用环境 spring:profiles:active: dev --- #设置环境#生产环境 spring:profiles: pro server:port: 81--- #开发环境 spirng:profiles: dev server:port: 81--- #测试环境 spring:profiles: test server:p…

C/C++ static关键字详解(最全解析,static是什么,static如何使用,static的常考面试题)

目录 一、前言 二、static关键字是什么? 三、static关键字修饰的对象是什么? 四、C 语言中的 static 🍎static的C用法 🍉static的重点概念 🍐static修饰局部变量 💦static在修饰局部变量和函数的作用 &a…

基于Google Colaboratory安装Go语言编译器操作流程

文章目录 1. 什么是Google Colaboratory2. 访问Google Colaboratory3. 创建新的笔记本4.【方法①】使用apt命令安装golang5.【方法②】使用Go安装包安装golang6. 参考链接 1. 什么是Google Colaboratory Colab是一种托管的笔记本电脑服务,不需要安装即可使用&#x…

STL(第三课):list

STL中的list是一个双向链表&#xff0c;它可以动态地将元素插入和删除&#xff0c;提供了许多方便的操作接口。下面我们来讲解一下CSTL list的相关内容。 list的创建比较简单&#xff0c;只需要包含头文件#include<list>&#xff0c;然后使用std::list模板即可声明一个li…

使用pdf2image pdf转图片

安装poppler https://wenku.csdn.net/answer/1zxh8ckp6i from pdf2image import convert_from_path, convert_from_bytes import os# https://github.com/Belval/pdf2imageoutput_folder ./ dpi_value 600 pdf_start_page 1 # pdf显示的第一页 start_page 237 # 真实页码 p…

二叉树按二叉链表形式存储,试编写一个判别给定二叉树是否是完全二叉树的算法

完全二叉树&#xff1a;就是每层横着划过去是连起来的&#xff0c;中间不会断开 比如下面的左图就是完全二叉树 再比如下面的右图就是非完全二叉树 那我们可以采用层序遍历的方法&#xff0c;借助一个辅助队列 当辅助队列不空的时候&#xff0c;出队头元素&#xff0c;入队头…

在 CelebA 数据集上训练的 PyTorch 中的基本变分自动编码器

摩西西珀博士 一、说明 我最近发现自己需要一种方法将图像编码到潜在嵌入中&#xff0c;调整嵌入&#xff0c;然后生成新图像。有一些强大的方法可以创建嵌入或从嵌入生成。如果你想同时做到这两点&#xff0c;一种自然且相当简单的方法是使用变分自动编码器。 这样的深度网络不…

SparkSQL

1、Spark简介 2、Spark-Core核心算子 3、Spark-Core 4、SparkSQL 文章目录 一、概述1、简介2、DataFrame、DataSet3、SparkSQL特点 二、Spark SQL编程1、SparkSession新API2、DataFrame2.1 创建DataFrame2.2 SQL 语法2.3 DSL语法 3、DataSet4、RDD、DataFrame、DataSet相互转换…

强大的pdf编辑软件:Acrobat Pro DC 2023中文

Acrobat Pro DC 2023是一款强大的PDF编辑和管理软件&#xff0c;它提供了广泛的功能&#xff0c;使用户能够轻松创建、编辑、转换和共享PDF文档。通过直观的界面和先进的工具&#xff0c;用户可以快速进行文本编辑、图像调整、页面管理等操作&#xff0c;同时支持OCR技术&#…

Nginx重新编译并添加模块

1.查询Nginx配置参数 作用&#xff1a;一是检查所需模块是否已安装&#xff0c;二是将configure arguments: 后面的参数复制出来并保存&#xff0c;因为等会重新编译时还需将这些模块一同添加进去。 [rootreader ~]# nginx -V nginx version: nginx/1.24.0 built by gcc 8.5.0…

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑

坑1&#xff1a;debug模式下生成osgEarthAnnotation时 错误&#xff1a;xmemory0(881): error C2440: “初始化”: 无法从“std::pair<const _Kty,_Ty>”转换为 to _Objty 出错位置&#xff1a;src/osgEarthFeatures/FeatureSourceIndexNode.cpp 解决办法&#xff1a; …