Pytorch学习笔记【4】---tensor维度变换

PyTorch中张量(tensor)的维度变换 1. view/reshape:形状改变,数据不变 Example: In[1]: x = torch.rand(4,1,28,28) In[2]: x.size() Out[2]: torch.Size([4, 1, 28, 28]) In[3]: y = x.view(4,28*28) In[4]: y.size() Out[4]: torch.Size([4, 784])... 阅读详情

Pytorch【4】—tensor维度变换

Pytorch笔记目录:点位进入

1. view()

torch.view()的作用是改变tensor的维度,且改变前后的所有维度的相乘的结果相同

a = torch.rand(4,1,28,28)
print(a.shape)
out:
torch.Size([4, 1, 28, 28])
a.view(4,28*28).shape
out:
torch.Size([4, 784])

你可以改变他的维度,前提是不改变数值的总数量

# a.view()的方法并不会概念原有的tensor,但是你可以用一个变量去接收他
b = a.view(4,28,28)

unsqueeze()

unsqueeze()的作用是在某个维度上添加一个维度

a.unsqueeze(0).shape
out:
torch.Size([1, 4, 1, 28, 28])
a.unsqueeze(-1).shape
out:
torch.Size([4, 1, 28, 28, 1])
b = a.view(4,28,28) 
b = b.unsqueeze(0).unsqueeze(1).unsqueeze(0)
print(b.shape)
out:
 torch.Size([1, 1, 1, 4, 28, 28])

squeeze()

squeeze()的作用是在删除维度数量为1的维度,如果不填的话就是删除所有的

b.squeeze().shape
out:
torch.Size([4, 28, 28])
b.squeeze(0).shape
out:
torch.Size([1, 1, 4, 28, 28])

expand()

expand()是在某一个维度上扩展,也就是横向扩展

a = torch.rand(3,1)
a.expand(3,4)
out:
tensor([[0.0246, 0.0246, 0.0246, 0.0246],
            [0.1753, 0.1753, 0.1753, 0.1753],
            [0.6476, 0.6476, 0.6476, 0.6476]])

.t()

.t()就是线代里面矩阵的转置

a.t()
out:
tensor([[0.6535, 0.3542, 0.8209]])

repeat()

repeat()的作用就是把每个维度按照自己设定的数值来复制

在这里插入图片描述

transpose()和permute()

transpose()的作用就是把某两个维度的给调换
permute()是给每个维度都制定需要调换到的维度
在这里插入图片描述

保姆级教程:在瑞芯微RV1126B上部署轻量化YOLOv8,实现端侧实时目标检测 本文详细介绍了在瑞芯微RV1126B芯片上部署轻量化YOLOv8模型的完整流程,包括开发环境搭建、模型训练优化、量化转换及嵌入式部署。通过利用RV1126B的3TOPS NPU算力和AI-ISP特性,实现端侧实时目标检测,提升边缘AI应用的性能和效率。 阅读详情

相关推荐

集成电路模拟版图入门-版图基础学习笔记(一)

集成电路设计模拟版图入门笔记,了解版图的定义、意义、工具、设计流程。认识版图及版图组成的两大部件,版图编辑器有哪些,电路图编辑器,了解工艺厂商等。

weixin_52955333的博客 2万+

透彻理解torch.tensor中对某一维度的操作们(mean,Softmax,batch norm, layer norm)

一、问题介绍: torch当中例如 mean(dim=1) Softmax(dim=-1)以及layer norm和batch norm到底是怎么算的,常常令人感到迷惑。其实它们的道理是一样的 二、维度的直观概念 首先,如果对维度和矩阵中数据的结构没有直观感受的请阅读我另一篇文章: 三、详细讲解: 1.核心观点: function(dim=-1)就是说对dim=-1这个维度进行function操作 而对某维度进行操作的的意思就是: 每次把那些(除了这个维度以外其他维度的位置坐标都相同的)一组数据拿来运算

Fan19zju的博客 6453

ChatGPT Web转API工具:原理、部署与集成实战

在AI应用开发中,API(应用程序编程接口)是实现系统间通信和数据交换的核心技术,它通过标准化的请求响应机制,将复杂功能封装为可编程的服务。其工作原理基于HTTP协议,通过定义清晰的端点、方法和数据格式,使不同平台的应用能够高效集成AI能力。这一技术价值在于极大降低了开发门槛,促进了自动化流程和智能功能的快速落地,广泛应用于智能客服、内容生成和创意辅助等场景。本文聚焦于如何通过浏览器自动化技术,将ChatGPT的Web界面能力转化为标准API服务,其中涉及Playwright无头浏览器操作和会话Cookie

weixin_42533910的博客 1768

TensorFlow2-基础(五):Tensor的维度变换【改变:reshape(view级别)、transpose(content级别)】【增加(expand_dims)、删除(squeeze)】

tensorFlow维度变换可分为两个级别,一个是view级,一个是content级。 view级维度变换:不改变数据的存储关系,比如[3,28,28,3]变换维度为[3,784,3]之后,数据本身并没有改变,属于哪一行哪一列的元素还是可以确定,可以原模原样的恢复为[3,28,28,3]。 content级维度变换:会改变数据的存储关系。content有“目录”的意思,即索引关系,通过[3,28,28,3]这样的索引号能够找到一个元素。当content被改变时,意味着元素之间的索引关系变了。例如[3,28

u013250861的博客 3786

KANO分析模型

KANO分析模型的基本概念,目的意义,应用场景,实现方法和示例等

JasonH2021的博客 3068

从零到一:构建嵌入式Arm-Linux的Qt MQTT通信框架全指南

本文详细指导如何在嵌入式Arm-Linux平台上从零构建Qt MQTT通信框架,涵盖交叉编译、环境配置、依赖库管理及性能优化。重点针对32位Arm架构,提供完整的工具链配置、编译步骤和实战部署方案,适用于物联网和工业控制等场景。

w8x9y0z1的博客 1000

torch切片保维度

torch保维度切片

乐趣是人为构建的,构建是一种莫大的乐趣。 901

AUTOSAE软件配置-达芬奇( DaVinci Configurator)从新建工程开始

方法1,直接使用案例工程,一般SIP包会有一个创建好的案例工程,在这样的路径YOUR_SIP_DIR/Applications/SipAddon/StartApplication下面直接打开这个*.dpa文件即可看到已经预先做好的工程:但是,这个也不是全的,也不一定完全正确,至少MCAL是没有配置好的(MCAL是IC厂商提供的,并不归属SIP包的一部分)。这样就需要你自己去配置你想要的模块,修改里面的错误。

m0_49148264的博客 2948

pytorch学习笔记之pytorch基础二(索引与切片、维度变换)

索引与切片 Indexing 直接索引 : 采样索引 ... 任意维度 维度变换 .view( ) 合并维度 Squeeze \ unsqueeze 删减 \ 增加维度 expand / repeat 维度扩展 Transpose / t / permute 转置

m0_52785249的博客 816

YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

know_F0727的博客 192

Python控制TEMI1000/TEMI1500测试温箱

该温箱是我司从昆山振弘检测设备有限公司采购的TEMI 1000,但是控制器用的是韩国的,关于控温箱这个项目,可参考的资料仅有一份官方的manual,里面包含一些命令格式。只要你有温箱,就应该可以向厂家索取该文档。该温箱的通讯接口只有一个RS232接口,要想实现远程控制,需要有串口转USB的线;类似于下图所以,想依靠python来与之进行通信,还是要通过python 的pyserial库,关于怎么安装pyserial,过于简单,这里不做赘述,可自行百度。

xgh1951的博客 1万+

判定两个tensor维度相同_Pytorch之Tensor大详解

导语深度学习框架Pytorch发展势头惊人,这点小编也深有体会,翻翻Github上深度学习的开源代码,发现用Pytorch真的多了不少,所以小编最近也正在入坑Pytorch,顺便写写文章做些总结。认真看完这篇文章,你将收获:理解Tensor的创建理解Tensor的加速理解Tensor的常用属性理解Tensor的常用方法Tensor创建我们应该都知道Numpy是支持大量维度数组与矩阵运算的常用扩展库...

weixin_39610724的博客 1241

2021.07.05【R语言】丨预测lncRNA并绘制venn图

目录摘要环境与方法依赖工具预测工具绘制工具使用命令预测lncRNA统计noncoding_ID绘制Venn图结果展示总结 摘要 接到一个单样品测lncRNA数据的项目,正好拿来练练手,梳理一下lncRNA流程。这里记录预测lncRNA并生成venn图的过程 环境与方法 R version 3.6.3 (2020-02-29) 依赖工具 预测工具 CPC2 CNCI Pfam CPAT 绘制工具 R:VennDiagram 使用命令 预测lncRNA CPC2 #更换env conda activate py

2036

Pytorch Tensor维度变换

1. 改变shape torch.reshape()、torch.view()可以调整Tensor的shape,返回一个新shape的Tensor,torch.view()是老版本的实现,torch.reshape()是最新的实现,两者在功能上是一样的。 示例代码: import torch a = torch.rand(4, 1, 28, 28) print(a.shape) prin...

洪流之源 6万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

PyTorch中Tensor的维度变换

对于 PyTorch 的基本数据对象 Tensor (张量),在处理问题时,需要经常改变数据的维度,以便于后期的计算和进一步处理,本文旨在列举一些维度变换的方法并举例,方便大家查看。 维度查看:torch.Tensor.size() 查看当前 tensor 的维度 举个例子: >>> import torch >>> a = torch.Tensor([[[1...

Steven的博客 4万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【Pytorch】Tensor维度变换

Tensor维度变换函数

宫瑞阳的博客 1773

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Pytorch Tensor 维度变换学习记录

Pytorch Tensor 维度变换学习记录

qq_54900679的博客 1570

Pytorch维度变换

1. 改变shape torch.reshape()、torch.view()可以调整Tensor的shape,返回一个新shape的Tensor,torch.view()是老版本的实现,torch.reshape()是最新的实现,两者在功能上是一样的。 参考: https://blog.youkuaiyun.com/Flag_ing/article/details/109129752 ...

zhuguiqin1的专栏 6843

PyTorch中tensor的维度变换

1. 增加维度: 可以使用 unsqueeze(index) 给tensor增加某一个指定位置的维度,tensor的维度从0开始。若index>=0,则表示在第index维插入一个新的维度;若index<0,则表示在倒数第index维插入一个新的维度。 实例: import torch a = torch.randn(8,4,9) b = a.unsqueeze(0) c = a.unsqueeze(1) d = a.unsqueeze(-1) e = a.unsqueeze(..

m0_46483236的博客 7283

pytorch reshape_pytorch常用总结 之 tensor维度变换

小白最近刚开始使用pytorch,经常需要在各个网站反复查询一些函数的区别。但是不同的博客说的有时候不一样,趁着实验室停电,小白写了这篇文章,方便自己食用,不定期更新。如有错误,欢迎大家热烈指正。第0章 敌动我也动,敌动我不动之前写背包问题的时候,对序列B做更改的时候,(B=A) 序列A也跟着改变大小。这是因为A和B都指针指向了同一个地址。下面详细介绍:c = [1,2]赋值的时候,python...

weixin_39625162的博客 5460

【Pytorch入门】Tensor维度变换

Pytorch学习笔记——Tensor维度变换 view()/reshape() torch.view(arg1,arg2....) 作用:类似于numpy中的resize()的功能,重构tensor的维度,返回一个有相同数据但不同大小的tensor 简单来讲,就是把原先tensor中的数据按照行优先的顺序排成一个一维数组,然后根据参数组合成其他维度的tensor example: 首先我们构造两个张量a([1,2,3,4,5,6]),b([[1,2,3],[4,5,6]]),对其执行view操作后,输出结

qq_46258819的博客 3075

pytorch tensor张量维度转换(tensor维度转换)

# view() 转换维度 # reshape() 转换维度 # permute() 坐标系变换 # squeeze()/unsqueeze() 降维/升维 # expand() 扩张张量 # narraw() 缩小张量 # resize_() 重设尺寸 # repeat(), unfold() 重复张量 # cat(), stack() 拼接张量 一. tens...

x_yan033的博客 8万+

python维度变换_PyTorch中Tensor的维度变换实现

对于 PyTorch 的基本数据对象 Tensor (张量),在处理问题时,需要经常改变数据的维度,以便于后期的计算和进一步处理,本文旨在列举一些维度变换的方法并举例,方便大家查看。维度查看:torch.Tensor.size()查看当前 tensor 的维度举个例子:>>> import torch>>> a = torch.Tensor([[[1, 2], ...

weixin_35205982的博客 2072

pytorch tensor维度变换

pytorch tensor维度变换

wyw0000的博客 2190

PyTorch Tensor 操作入门:转换、运算、维度变换

通过这篇文章,我们学习了 PyTorch 中 Tensor 的基本操作,包括:如何在 Tensor 和 NumPy 数组之间进行转换。如何进行基本的数学运算。如何改变 Tensor 的形状。如何对 Tensor 的维度进行变换。这些操作是深度学习的基础,希望这篇文章能帮助你更好地理解和使用 PyTorch!

2301_76849908的博客 714

torch的Tensor维度变换

pytorch学习 torch的Tensor维度变换 view和reshape功能一样-不变的是数据本身,变维度改变对数据的理解 缩小/扩大维度,正的维度在索引之后插入,负的维度在索引之前插入 例子:给每幅图一个偏置bias 右边扩两次,左边一次,从[32]得到[1 32 1 1 ] 维度扩展:expend/repeat,expend在需要的时候复制数据,节约内存,推荐;repeat复了数据 expend扩展1->N可行,大于1需要指定策略 -1代表维持不变 repeat:函数里的数字都是

m0_53926478的博客 3571
上一篇: Pytorch学习笔记【3】 --tensor切片
下一篇: Pytorch学习笔记【5】---tensor的拼接和拆分
AndSonder
博客等级 码龄7年 364粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值