空洞卷积(膨胀卷积)(Dilated Convolution / Atrous Convolution)

embedded/2025/3/15 16:28:03/

膨胀卷积的基础操作图解:

卷积之后的尺寸公式:

  • W×H 是输入尺寸

  • Fw​×Fh​ 是卷积核尺寸

  • P 是填充大小

  • S 是步长

  • R 是膨胀率

  • ⌊x⌋ 表示向下取整

实例(膨胀率不同):

  • 输入尺寸:W=8×H=8

  • 卷积核尺寸:Fw=3×Fh=3

  • 填充:P=1P=1

  • 步长:S=1S=1

代码实例:

import torch
import torch.nn as nn# 固定参数
input_size = (8, 8)        # 输入尺寸 W×H
kernel_size = (3, 3)       # 卷积核尺寸 Fw×Fh
padding = 1                # 填充 P
stride = 1                 # 步长 S# 定义输入张量:batch_size=1, 通道数=1, 尺寸=8x8
x = torch.randn(1, 1, input_size[0], input_size[1])# 定义不同膨胀率的卷积层
dilations = [1, 2, 3, 4]  # 膨胀率 Dfor dilation in dilations:# 创建膨胀卷积层conv = nn.Conv2d(in_channels=1,out_channels=1,kernel_size=kernel_size,stride=stride,padding=padding,dilation=dilation  # 膨胀率 D)# 计算输出尺寸with torch.no_grad():output = conv(x)# 理论计算验证effective_kernel_w = dilation * (kernel_size[0] - 1) + 1w_out = (input_size[0] + 2 * padding - effective_kernel_w) // stride + 1# 打印结果print(f"Dilation={dilation}:")print(f"  理论输出尺寸: {w_out}x{w_out}")print(f"  实际输出尺寸: {output.shape[2]}x{output.shape[3]}\n")

输出:

Dilation=1:
  理论输出尺寸: 8x8
  实际输出尺寸: 8x8

Dilation=2:
  理论输出尺寸: 6x6
  实际输出尺寸: 6x6

Dilation=3:
  理论输出尺寸: 4x4
  实际输出尺寸: 4x4

Dilation=4:
  理论输出尺寸: 2x2
  实际输出尺寸: 2x2

官方文档:Conv2d — PyTorch 2.6 documentation


http://www.ppmy.cn/embedded/172808.html

相关文章

NFC碰一碰发视频-nfc碰一碰发视频拓客系统 实体商家碰一碰发视频引流获客

服务器配置确认:根据预计的用户访问量和系统负荷,选择适当的服务器规格。 环境设置:在选定的服务器上安装操作系统、数据库管理系统及所需的依赖库,例如Linux发行版、MySQL数据库和Nginx服务器软件。 代码获取:从官方…

硬件工程师入门教程(四)

1.比较器是什么 比较器有两个输入信号V和V-&#xff1b;以及一个输出信号Vout 当V>V-时&#xff0c;Vout为高电平&#xff1b;&#xff08;约等于Vcc&#xff09;当V<V-时&#xff0c;Vout为低电平&#xff1b;&#xff08;约等于GND&#xff09; 2.比较器什么时候加上…

SEO优先级矩阵:有限资源下的ROI最大化决策模型

SEO优先级矩阵&#xff1a;有限资源下的ROI最大化决策模型 引言 在数字营销领域&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是提升网站流量和转化率的关键策略之一。然而&#xff0c;SEO的实施往往需要投入大量的时间和资源&#xff0c;尤其是在资源有限的情况下&a…

关于使用Visual Studio编码问题

目录 1.修改区域 2. 使用/utf-8命令 3.手改 问题&#xff1a;今天遇到很烦问题&#xff0c;同一份代码&#xff0c;张三说他的代码格式是utf-8&#xff0c;李四说他的是GB2312(简中)的&#xff0c;然后李四上传代码&#xff0c;张三说是乱码&#xff0c;张三上传代码&#xf…

基于Spring Boot的国产动漫网站的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

数据采集技术之python网络爬虫(中国天气网的爬取)

一、爬取中国天气网所有地区当天的天气数据&#xff08;PyCharm&#xff09;&#xff1a; 网址&#xff1a;https://www.weather.com.cn/ 下面爬取数据&#xff1a; 因为现在已经到了夜间&#xff0c;所以白天的数据已经不见了&#xff0c;但原理是一样的。 二、代码以及详情…

教育直播培训系统源码解析:核心功能与实现方式

教育直播培训系统是在线教育平台的核心支撑&#xff0c;其源码通常包括多个关键模块&#xff0c;如直播管理、课程管理、用户管理和数据分析等。本文将解析这些核心功能的实现方式&#xff0c;并提供部分代码示例。 1. 直播管理模块 直播功能是教育培训系统的核心&#xff0c;…

Ai文章改写出来的文章,怎么过Ai检测?控制指令,测试的一点心得,彻底疯了!

大家好&#xff0c;我是淘小白~ 淘小白之前写过一个ai改写的软件&#xff0c;我自己在测试的时候&#xff0c;想找一种可以过ai检测的工具&#xff0c;整合到软件中去&#xff0c;找了很多&#xff0c;测试aigreatwall的检测效果还是挺准确的&#xff0c;测试了多篇文章&#…