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

【Python】nn.nn.CircularPad1、2、3d函数和nn.ConstantPad1、2、3d函数详解和示例

前言

在深度学习中,尤其是在处理图像、音频或其他多维数据时,数据填充(Padding)是一个常见的操作。填充不仅可以保持数据的空间维度,还能在卷积操作中避免信息丢失。PyTorch提供了多种填充方式,其中nn.CircularPadXd和nn.ConstantPadXd是两种常用的填充方法。本文将详细介绍nn.CircularPad1d、nn.CircularPad2d、nn.CircularPad3d以及nn.ConstantPad1d、nn.ConstantPad2d、nn.ConstantPad3d的函数原型、用法示例,并总结它们的特点。

  • 前言
  • 函数原型
    • nn.CircularPadXd
    • nn.ConstantPadXd
    • 示例
      • nn.CircularPad1、2、3d 示例
      • nn.ConstantPad1、2、3d 示例
  • 小结

函数原型

nn.CircularPadXd

nn.CircularPadXd(其中X可以是1、2或3)类用于使用循环填充(circular padding)方式填充输入张量(tensor)的边界。循环填充意味着在填充时使用输入张量边界的值来填充另一端。

nn.CircularPad1d(padding): 一维数据的循环填充。
nn.CircularPad2d(padding): 二维数据的循环填充,常用于图像。
nn.CircularPad3d(padding): 三维数据的循环填充,适用于视频帧或体积数据。
padding参数可以是一个整数或元组(tuple),表示在每个维度上的填充大小。

nn.ConstantPadXd

nn.ConstantPadXd(其中X可以是1、2或3)类用于使用常数填充(constant padding)方式填充输入张量的边界。

nn.ConstantPad1d(padding, value): 一维数据的常数填充。
nn.ConstantPad2d(padding, value): 二维数据的常数填充,常用于图像。
nn.ConstantPad3d(padding, value): 三维数据的常数填充,适用于视频帧或体积数据。
padding参数同上,value参数指定了填充的常数值。

示例

nn.CircularPad1、2、3d 示例

import torch
import torch.nn as nn# 示例:nn.CircularPad2d
input = torch.arange(9, dtype=torch.float).reshape(1, 1, 3, 3)
print("Input:")
print(input)pad = nn.CircularPad2d(1)
output = pad(input)
print("Output with CircularPad2d:")
print(output)# 使用不同的填充大小
pad = nn.CircularPad2d((1, 2, 0, 1))
output = pad(input)
print("Output with different padding:")
print(output)

在这里插入图片描述

nn.ConstantPad1、2、3d 示例

import torch
import torch.nn as nn
# 示例:nn.ConstantPad2d
input = torch.arange(9, dtype=torch.float).reshape(1, 1, 3, 3)
print("Input:")
print(input)pad = nn.ConstantPad2d((1, 2, 0, 1), value=10.0)
output = pad(input)
print("Output with ConstantPad2d:")
print(output)
print("***********************************")
# 三维数据示例
input_3d = torch.randn(1, 1, 2, 3, 4)
pad_3d = nn.ConstantPad3d((1, 2, 0, 1, 2, 3), value=5.0)
output_3d = pad_3d(input_3d)
print("Output with ConstantPad3d:")
print(output_3d)

在这里插入图片描述

小结

nn.CircularPadXd:使用循环填充方式,通过在张量边界值之间循环来填充数据。这对于需要保持数据连续性的场景特别有用。
nn.ConstantPadXd:使用指定的常数值来填充张量的边界。这种填充方式简单直接,适用于不需要特殊边界处理的场景。

无论是循环填充还是常数填充,都是深度学习中常用的数据预处理技术,它们能够帮助我们更好地控制数据的维度和边界条件,从而优化模型的训练效果。

相关文章:

【Python】nn.nn.CircularPad1、2、3d函数和nn.ConstantPad1、2、3d函数详解和示例

前言 在深度学习中,尤其是在处理图像、音频或其他多维数据时,数据填充(Padding)是一个常见的操作。填充不仅可以保持数据的空间维度,还能在卷积操作中避免信息丢失。PyTorch提供了多种填充方式,其中nn.Cir…...

LearnOpenGL——混合、面剔除

LearnOpenGL——混合、面剔除 混合 Blending一、丢弃片段 Alpha Test二、混合 Alpha Blending渲染顺序 面剔除一、环绕顺序二、面剔除 混合 Blending OpenGL中,混合(Blending)通常是实现物体透明度(Transparency)的一种技术。透明的物体可以是完全透明的&#xff0…...

视频网站为何热衷于SCDN

视频网站为何热衷于SCDN?随着互联网技术的飞速发展,视频网站已成为人们日常生活中不可或缺的一部分。无论是观看高清电影、热门剧集,还是直播体育赛事、游戏竞技,视频网站都以其丰富的内容和便捷的访问方式吸引了无数用户。然而&a…...

Redis与DataBase保持数据一致性

文章目录 1. 读取数据2. 写数据2.1 先操作缓存2.2 先操作数据库 在我们系统中缓存最常用的策略是:服务端需要同时维系DB和Cache,并且是以DB的结果为准, Cache-Aside Pattern(缓存分离模式、旁路缓存)。 1. 读取数据 当…...

解决 MacOS 连接公司 VPN 成功但是不能网络的问题

目录 解决办法2024 Mac mini 爆料 解决办法 操作比较简单,修改配置文件即可(如果没有则需要手动创建)。 sudo vim /etc/ppp/options在此文件下,加入 plugin L2TP.ppp: plugin L2TP.ppp如果文件里有l2tpnoipsec&…...

【Kubernetes】k8s集群之Pod容器资源限制和三种探针

目录 一、Pod容器的资源限制 1.资源限制 2.Pod 和容器的资源请求与限制 3.CPU 资源单位 4.内存资源单位 二、Pod容器的三种探针 1.探针的三种规则 2.Probe支持三种检查方法: 一、Pod容器的资源限制 1.资源限制 当定义 Pod 时可以选择性地为每个容器设定所…...

从古代驿站体系看软件安全管控@安全历史04

在古代,车、马都很慢,信息传递很不顺畅,中央的政令又是如何传达至地方的呢?实际上,很多朝代都有专门的驿站制度,可以保障全国各地的信息传递,对于维护统治和稳定有着关键作用。 若将国家比作一个…...

8.8 哈希表简单 1 Two Sum 141 Linked List Cycle

1 Two Sum class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {//给的target是目标sum 要返回vector<int> res(2,0);是在num中找加数//首先假设每个输入都是由唯一的结果&#xff0c;而且不适用相同的元素两次一共有n*(n-1)种…...

动态规划之——背包DP(完结篇)

文章目录 概要说明分组背包模板例题1思路code模板例题2思路code 有依赖的背包问题模板例题思路code 背包问题求方案数模板例题思路code 背包问题求具体方案模板例题思路code 概要说明 本文讲分组背包、有依赖的背包、 背包问题求方案数以及背包问题求具体方案 入门篇(01背包和…...

Advanced IP Scanner - 网络扫描工具介绍

Advanced IP Scanner 是一款免费、快速且用户友好的网络扫描工具。它能够帮助用户扫描局域网&#xff08;LAN&#xff09;中的所有设备&#xff0c;提供详细的设备信息&#xff0c;包括IP地址、MAC地址、设备名称和厂商信息。该工具对IT管理员和普通用户都非常有用&#xff0c;…...

数据库事务的四大特性ACID

数据库事务的四大特性ACID 数据库事务&#xff08;Transaction&#xff09;是数据库管理系统&#xff08;DBMS&#xff09;执行过程中的一个逻辑单位&#xff0c;由一个或多个SQL语句组成&#xff0c;这些语句作为一个整体一起向系统提交&#xff0c;要么全部执行&#xff0c;…...

ELK架构介绍

一、ELK简介 ELK 是由三个开源软件组成的&#xff0c;分别是&#xff1a;Elasticsearch、Logstash和Kibana&#xff0c;这三个软件各自在日志管理和数据分析领域发挥着重要作用。Elasticsearch提供分布式存储和搜索能力&#xff1b;Logstash负责数据收集和处理&#xff0c;而K…...

Vscode下ESP32工程函数定义无法跳转

1.删除.vscode 2.按下 ctrlshiftp&#xff0c;搜索 ESP-IDF:Add vscode Configuration Folder...

liquibase.exception.LockException: Could not acquire change log lock.

项目场景&#xff1a; 启动应用花了好长时间&#xff0c;最后报出异常. 问题描述 启动应用花了好长时间&#xff0c;最后报出异常. 异常&#xff1a; Caused by: liquibase.exception.LockException: Could not acquire change log lock. Currently locked by LAPTOP-OQ9VB…...

【多线程-从零开始-捌】阻塞队列,消费者生产者模型

什么是阻塞队列 阻塞队里是在普通的队列&#xff08;先进先出队列&#xff09;基础上&#xff0c;做出了扩充 线程安全 标准库中原有的队列 Queue 和其子类&#xff0c;默认都是线程不安全的 具有阻塞特性 如果队列为空&#xff0c;进行出队列操作&#xff0c;此时就会出现阻…...

数据结构——栈(Stack)

目录 前言 一、栈的概念 1、栈的基本定义 2、栈的特性 二、栈的基本操作 1.相关操作概念 2.实现方式 &#xff08;1&#xff09;顺序栈 &#xff08;2&#xff09;链式栈 三、栈的应用 总结 前言 栈&#xff08;Stack&#xff09;是一种常见且重要的数据结构&#xff0c;它遵循…...

修改pom.xml为阿里云仓库并且让他生效

一、项目pom.xml添加 <repositories><repository><id>aliyun-central</id><name>Aliyun Maven Central</name><url>https://maven.aliyun.com/repository/central</url></repository><repository><id>aliyu…...

step13:qml/qt程序打包

文章目录 0.文章介绍1.软件发布2.准备打包软件3.双击开始运行打包软件4.点击安装5.参考连接 0.文章介绍 1.软件发布 打包之前需要先发布&#xff0c;参考教程连接 2.准备打包软件 官方下载地址&#xff1a;http://www.jrsoftware.org/isdl.php#stable 下载之后一路点击下一…...

招聘求职小程序

本文来自&#xff1a;ThinkPHPFastAdmin招聘求职小程序 - 源码1688 应用介绍 一款基于ThinkPHPFastAdmin开发的原生微信小程序招聘管理系统。 前端小程序演示&#xff1a; 后台管理网址&#xff1a; https://fastadmin.site100.cn/PbfhegDBAJ.php/index/login 网盘链接&#x…...

10分钟学会docker安装与使用

文章目录 1、docker简介2、docker的基本组成3、docker的安装与配置4、docker的常用命令 1、docker简介 什么是容器&#xff1f; 它是一种虚拟化的方案&#xff0c;是操作系统级别的虚拟化&#xff0c;只能运行相同或相似内核的操作系统&#xff0c;依赖于Linux内核特性&#x…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...