torch.permute()/torch.cat()/torch.add()

学习记录——关UNet、特征图add、cat、相乘、三个 注意力 通俗的来讲就是在网络的高层(就是U型的上部分),获取了图形的细节信息(因为这时候图片很大,很多细节可以得以保留)。特征图拼接的优点是能够保留两个特征图的所有信息,适用于需要同时考虑不同特征的任务。通过add操作,会得到新的特征,这个新的特征可以反映原始特征的一些特性,但是原始特征的一些信息也会在这个过程中损失。这部分有利于将下采样的各个阶段的信息在上采样过程中进行整合,就是在上采样的过程中,结合了各个层次的结构信息。特征图相乘的优点是可以增强共同出现的特征并减弱不重要的特征,适用于需要突出共同特征的任务。 阅读详情

维度转换

在torch中应用卷积的时候,我们有时候遇到一些问题。在cv领域我们常见的就是用二维卷积将图片中各种特征进行提取,但是目标检测、分割中都没有涉及到时域。但是一旦涉及到提取时域特征的话,下面三种维度转换就会非常有用,我们可以建立更加丰富的网络。我们可以用一维、二维、三维卷积提取到更加丰富的信息,提升我们网络的鲁棒性。

1.卷积维度合并

torch中torch.cat()和paddle、tensorflow中concate一样,将目标特征图在不同维度上进行拼接。
应用场景,当将特征图分块处理之后,我们在需要将特征进行形状还原的时候使用。而torch.add()代表 的尺寸一样的特征图进行内值相加。这种一般用于特征融合的,提取多特征的时候进行特征融合的时候使用。

// An highlighted block
x0 = torch.rand(3, 224, 224)
x1 = torch.rand(3, 224, 224)
y0 = torch.cat((x0, x1),0).size() #其中0代表合并的维度,表示在第一维度合并
print(y0)
y1 = torch.add(x0,x1).size()
print(y1)

输出结果在这里插入图片描述

2 维度变换

尺度对应,当然tensor.view()还有其他用法,具体参考源码
将特征直接进维度融合,形状不一样,大小一样。

// An highlighted block
x0 = torch.rand(3, 224, 224)
c, h, w = x0.size()
x0_t0 = x0.view(c * h, w)
print(x0_t0.size())

输出结果
在这里插入图片描述

3 维度转换

类似于[h,w]转换成[w,h],在建立卷积网络的过程中需要用到不同维度卷积时,我们可以用以下方法进行维度转换来做卷积前的准备工作。

x0 = torch.rand(3, 224, 224)
print(x0.size())
x1 = x0.permute([2,0,1])#维度转换,[2,0,1]中表示矩阵的维度
print(x1.size())

输出结果
在这里插入图片描述
补充一点,用permute函数之后,我们需要用continuous函数进行连接,因为permute函数将原特征进行分裂重组了,使用continuous函数能够使得数据只进行维度转换,数据不会被打乱。
掌握以上的三个小技巧,我们建立网络就会更加得心应手!

pytorch学习笔记1:张量 目录 Tensor与numpy相互转换: torch.ones(),torch.add(),torch.zeros(),torch.squeeze() Tensor与numpy相互转换: import torch x=torch.Tensor(2,3)#生成一个4*5的Tensor张量 将Tensor转换为numpy数组 y=x.numpy() 将numpy数组转换为Tenso... 阅读详情

相关推荐

torch中permute()函数用法补充内容(矩阵维度变化详细过程)

目录一、前言二、举例解释解释部分1、permute(0,1,2)2、permute(0,1,2) ⇒ permute(0,2,1)3、permute(0,2,1) ⇒ permute(1,0,2)4、permute(1,0,2) ⇒ permute(0,2,1)三、写在最后 一、前言 之前写了篇torch中permute()函数用法文章,没想到收藏和点赞还挺多的 那我就在详细的说一下permute函数里维度变化的详细过程 注意: 本文是这篇torch中permute()函数用法文章的补充内容 如果有精力可以

ac不知深的博客 6656

Pytorch torch.add() torch.add_() 用法

Pytorch torch.add() torch.add_() 用法

百般回首曾经的相遇,留下的只是一缕残忆 1万+

PyTorch 2.3 张量基础:3个维度操作技巧与4种内存布局解析

本文深入解析PyTorch 2.3中张量的核心操作,包括3个维度操作技巧与4种内存布局。通过实战示例详细讲解view与reshape的区别、permute的高效转置以及expand与broadcasting机制,帮助开发者优化深度学习模型的性能与内存使用。特别探讨了Channels Last布局对卷积运算的显著性能提升,并提供了高级维度操作与内存优化技巧。

323

torch.cat()、 torch.add()、torch.subtract()、torch.subtract()和torch.div()函数详解和示例

本文通过原理和示例对torch.cat()、 torch.add()、torch.subtract()、torch.subtract()、torch.div()和torch.linalg.solve() 函数进行详解,以帮助大家理解和使用。

不定时分享,互相学习,共同进步 4191

PyTorch Tensor 实战指南:7 类高频操作与 12 条 debug 铁律

Tensor 是 PyTorch 的核心数据载体,远不止是 NumPy 的替代品——它承载计算图构建、自动微分、GPU 调度与内存管理的全部语义。理解其创建机制(如 torch.tensor vs torch.Tensor)、设备迁移规则(to/cuda/empty_cache)、形状变换原理(view/reshape/permute)及梯度控制逻辑(detach/require_grad_/no_grad),是避免 RuntimeError、显存溢出和梯度消失的关键。尤其在工业级训练中,dtype 不匹配

shirlly 827

R语言构建神经网络:从tidymodels预处理到torch部署的全链路实践

神经网络作为现代机器学习的核心范式,其本质是通过可微分函数逼近复杂非线性关系。理解张量运算、反向传播与模型泛化原理,是跨越统计建模与深度学习鸿沟的关键。在数据科学工程实践中,R语言凭借tidymodels统一接口、torch原生张量支持及shiny/plumber轻量部署能力,已形成区别于Python的高效神经网络落地路径。尤其适合熟悉dplyr、ggplot2和基础建模(如lm)的数据分析师、生物信息研究者与社会科学量化工作者,无需CUDA底层知识即可完成LSTM时序预测、图像分类与合同文本异常检测等任务

357

0_Pytorch中的张量操作

小写 t: 根据指定数据创建大写 T: 既可以根据指定数据创建,也可以根据形状创建Tensor: 不指定类型(Type)Tensor: 指定类型。

weixin_44579176的博客 1459

张量可视化本质:用快递站类比理解维度与索引

张量是深度学习中最基础也最易被误解的数据结构,其核心并非高维空间几何,而是多维索引寻址机制。从标量到六维张量,本质都是‘用N个整数下标唯一定位一个数值’——这正是索引自由度的工程定义。快递站模型将shape解构为‘楼号、单元、楼层、房号’等可执行的寻址指令,使维度脱离抽象空间幻觉,回归内存定位本质。该视角直接支撑PyTorch张量操作的底层逻辑:连续内存布局、广播对齐规则、transpose与permute的元数据差异、以及view/reshape的连续性约束。掌握这一思维,能系统规避RuntimeErro

wyjvip333的专栏 411

torch学习 (42):tensor的索引、切片、拼接,以及变异操作 (Indexing, Slicing, Joining, Mutating)

对torch中tensor的索引、切片、拼接等操作进行说明

因吉的博客 6593

(13)目标检测_SSD算法中几个奇怪函数的研究

dd

chencaw的专栏 413

【NLP】第十三章:Transformer原理、计算流程以及代码实现-3

至此我们手动计算的编码器和解码器的计算流程就结束了,和调包pytorch中的Transformer算法的计算结果一样,说明每步我们的原理、计算流程,以及各个细节都理解的没错。一般我们都是将0填充位置的值设置成一个非常小的负数,这样softmax后,这部分的注意力分值就无限趋近0了,也就相当于用0给mask了。所以上图的Linear层就是一个普通的全连接层,这个层的输入就是embedding_dim=6,输出就是tgt_vocab size=12,也所以这个线性层就是一个。

因为热爱所以坚持 1543

Pytroch中常用函数

1、torch.empty() torch.empty(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False) → Tensor 返回一个size大小的tensor,里面的数值是随机的,主要用到size,其它都是可选内容。 szie可以是列表,元组等。 2、torch.rand() torch.rand(*size,out=None) 返回一个大小为size

qq_44805233的博客 1959

缠论 公式 自动画线 画笔 中枢 买卖点 源代码

【代码】缠论 公式 自动画线 画笔 中枢 买卖点 源代码。

weixin_40835859的博客 2万+

【深度学习|Day02】PyTorch 深度学习笔记(下):张量运算与自动微分

这篇笔记是PyTorch深度学习系列的下篇,聚焦张量运算与自动微分两大核心主题。内容从基本算术运算、矩阵乘法入手,系统梳理了索引切片、形状变换、拼接拆分等张量操作技巧,并深入剖析了PyTorch最核心的自动微分模块,从计算图原理、backward机制到手动梯度下降的完整实现,阐明了前向传播、反向传播与参数更新三个阶段的责任边界。

m0_73999950的博客 352

生成式引擎优化(GEO)的概念与技术路径

生成式引擎优化(GEO)是针对生成式AI引擎的新型优化策略,旨在提升内容在AI搜索与问答平台中的可见性和可信度。与传统SEO相比,GEO更注重语义理解、知识图谱和多模态生成等技术,通过优化内容的结构化和平台适配性,使品牌信息在生成式AI中更易被采纳和呈现。其核心技术包括语义理解、向量数据库和实时反馈优化等,应用于品牌传播、智能客服和个性化推荐等领域。随着AI技术发展,GEO将向智能化、自动化方向演进,成为内容优化的重要工具。

Baixue5209的博客 1048

logisim实验——通过2个半加器实现1-bit全加器,通过4个一位全加器构成4-bit加法器(详解)

一、由异或门和与门所构成的半加器: 二、由两个半加器构成的1-bit全加器: ..

zep 1万+

Python后端开发之旅(五)——DL

pytorch入门操作以及常见的方法和库操作

少年何妨梦摘星,敢挽桑弓射玉衡。 他时若遂凌云志,敢笑黄巢不丈夫。 497

Spine动画在Unity里卡顿、闪烁、排序错乱?这些性能优化与渲染问题一次讲清

本文深入解析了Spine动画在Unity中常见的卡顿、闪烁和排序错乱问题,提供了全面的性能优化与渲染解决方案。从性能瓶颈诊断到材质合并、动态合批优化,再到层级错乱与Alpha闪烁的处理,帮助开发者提升动画表现和运行效率。特别针对Unity和Spine的协同工作进行了详细的技术探讨。

weixin_29967445的博客 381

c++ 部署libtorch 时对Tensor块的常用操作API (例如vector转换为torch、squeeze、select、select_indxe、max等)

使用pytorch可以很方便的训练了网络,并且pytorch的官方网站中放出了很全的python对tensor的操作接口API,但是在部署libtorch的时候,c++对tensor的操作接口API,资料不是很多哦,因此,我收集了我部署libtorch的时候,操作tensor块常用的接口API,其实很多和python的接口和类似。 文章目录1、vector 转为 tensor 块 2、torch::tensor.sizes() 返回的是{c10::ArrayRef} 类型 3、torch::empty(

weixin_36114648的博客 3553

手把手教你学Simulink——基于Simulink的滑模控制器车辆稳定性仿真建模示例

本文详细介绍了基于Simulink的滑模控制器在车辆稳定性控制中的应用。通过建立二自由度车辆动力学模型(含魔术公式轮胎),设计横摆角速度与质心侧偏角滑模控制器,在Simulink中实现直接横摆力矩控制。文章包含完整的建模流程:从参考模型设计、滑模控制器推导(含等效控制和边界层法),到MATLAB参数设定和Simulink模块搭建。通过双移线测试和路面突变场景验证,证明该控制器能在低附着路面(μ=0.3)将横摆角速度误差控制在±5%以内,显著提升车辆稳定性。同时提供了工程实践要点和扩展方向(如高阶滑模、自适应

MHD0815的博客 106

【NodeRed】node-red-contrib-opcua实现PLC读写

在之前的博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们介绍了用node-red-contrib-opcua-server模块实现OPCUA服务端的,以及二次开发的内容。本节博文中我们采用官方社区自带的node-red-contrib-opcua组件开展对OPCUA客户端的介绍,详细阐述用该组件中OpcUa-Client节点实现客户端对PLC的读写,以及实现过程中遇到的问题。由于官方社区中并没有找到该组件的介绍实例,这也是本博文编写的第1个原因。

weixin_48618536的博客 959

零基础学AI人工智能:10.2 PyTorch框架

PyTorch是主流深度学习框架,具备动态图、自动微分和GPU加速,广泛用于研究与工业。核心数据结构为张量,支持多维数组运算,与NumPy高度兼容,提供创建(如torch.tensor)、类型转换、形状操作(如reshape)等接口。张量运算包括算术、矩阵乘法和聚合统计,并可无缝互转NumPy。自动微分通过动态计算图自动追踪梯度,简化训练。环境可通过pip安装并适配CUDA。掌握张量操作与自动微分是深度学习开发的基础。

wxkqweasd的博客 629

pytorch实现基本的logistic和softmax回归实验(手动+torch)

前提:不是前馈神经网络,没有隐藏层。 一:Logistic回归实验–人工构造数据集,手动构造模型 要求: 动手从0实现logistic回归,实现二分类,人工构造数据集,并分析loss、训练集、测试集的准确率。(要求从零实现二元交叉熵) 实验过程: 1.1人工构造数据集 1. # #自定义数据---训练集 2. num_inputs = 2 3. n_data = torch.ones(1500, num_inputs) # 数据的基本形态 4. x1 = torch.normal(2 * n_d

qq_37534947的博客 1万+

Pytorch学习之旅——tensor张量使用基础

文章目录tensor定义tensor运算tensor内置函数squeeze()和unsqueeze()函数 tensor定义 创建指定大小的tensor import torch a=torch.Tensor(2,3) print(a) tensor运算 tensor内置函数 只写常用的,其他的可以去网站查阅: squeeze()和unsqueeze()函数 https://blog.csdn.net/ZT0518/article/details/86440338 ...

zhanghm1995的博客 833

uniapp(全端兼容) - 最新实现全局设置修改字体大小功能,统一修改全部页面所有文字的大小(标准/小/中/大字号切换,用户修改后整个项目立即生效)设置应用字体的大小(详细示例代码,一键复制开箱即用

uni-app,支付宝微信小程序,h5,手机端H5网页,移动端网站,安卓app,ios苹果app,nvue,全局设置字体大小,退出后还能记录字号大小,uniApp将全部页面的字体字号进行修改,uniapp设置改变全局字体大小功能,动态调整应用字体大小,详细教程,动态显示字体大小,可调整显示字体大小,如何解决不同端字体大小的问题,除了rem还有什么方法,设置全局字体大小,用户设置字号大小,应用字体大中小,实现用户全局设置应用字体大小,老年模式字体设置思路,h5端不行怎么办,移动端不生效,修改全局字号,一键改整

✅ 精选推荐文章 8885

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【深度学习 | 第一篇】- Pytorch与张量

本文介绍了PyTorch深度学习框架的基础知识,重点讲解了张量(Tensor)的操作方法。主要内容包括:1) 张量的创建方式,如从数据、形状或特定类型创建;2) 张量的基本运算,包括四则运算、矩阵乘法和数学函数;3) 张量的索引和形状操作,如reshape、transpose等;4) 张量与NumPy数组的相互转换;5) 张量的类型转换方法。文章通过大量代码示例展示了PyTorch处理张量的核心功能,为深度学习入门提供了实用参考。

pusosjs的博客 422

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

下一篇: T2N
further_Yan
博客等级 码龄7年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值