PyTorch 维度变换-Tensor基本操作

news2024/11/18 23:37:31

以如下 tensor a 为例,展示常用的维度变换操作

>>> a = torch.rand(4,3,28,28)
>>> a.shape
torch.Size([4, 3, 28, 28])
  • view / reshape 两者功能完全相同: a.view(shape)

    >>> a.view(4,3,28*28)  		## a.view(4,3,28,28) 可恢复
    
  • squeeze / unsqueeze: a.unsqueeze(dim), a.squeeze(dim) 只能挤压 1 维度

    >>> a.unsqueeze(0).shape	## a.squeeze(0) 可恢复
    torch.Size([1, 4, 3, 28, 28])
    
  • transpose / permute:.t() 只能用于二维矩阵

    >>> a.transpose(0,1).shape    ## 两两交换:交换 0 1 维度
    torch.Size([3, 4, 28, 28])
    >>> a.permute(0,1,2,3).shape  ## 新置维度,非两两交换,更方便 
    torch.Size([4, 3, 28, 28])
    
  • expand / repeat 两者效果完全相同 expand 高效更推荐

    >>> a.unsqueeze(0).expand(2,4,3,28,28).shape  # 只能拓展 1 维度的
    torch.Size([2, 4, 3, 28, 28])
    >>> a.unsqueeze(0).repeat(2,1,1,1,1).shape    # 不是填目标维度,而是填每个维度的重复次数   
    torch.Size([2, 4, 3, 28, 28])
    
  • broadcasting 自动扩张:基于已有的小维度的值 自动 进行广播拓展
    在这里插入图片描述

    >>> b = a+torch.tensor(1) 
    >>> b.shape
    torch.Size([4, 3, 28, 28])
    

  • B站视频参考资料

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

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

相关文章

移动端浏览器的扫描二维码实现(vue-qrcode-reader与jsQR方式)

1. 实现功能 类似扫一扫的功能,自动识别到画面中的二维码并进行识别,也可以选择从相册中上传。 2. 涉及到的一些插件介绍 vue-qrcode-reader 一组用于检测和解码二维码的Vue.js组件 jsQR 一个纯粹的javascript二维码阅读库,该库接收原始…

基于asp.net大学生健康管理系统功能介绍

项目关键技术 开发工具:Visual Studio 编程语言: .net、JavaScript 数据库: SQL Server 框架:ASP.NET框架 关键技术:ASP.NET、SQL Server 数据库工具:Navicat 1、ASP.NET框架 ASP.NET技术框架是目前在程序开发中广泛应用的一种新…

存储协议入门-UPIU简介

写在前面:本文参考UFS jedec3.1,本文思维导图如下,详细内容关注微信:存储协议探索 ​ 1. UPIU架构 UPIU是UFS协议中的一种数据包格式,用于传输应用层的各种请求和命令,UFS采用的是客户-服务端架构,UFS主机(客户)主动发起请求,UFS设备(服务)执行后并返回相应状态。…

演出门票小程序开发

一、实时票务信息更新的重要性 在演出票务市场,票务信息的实时性对于消费者来说至关重要。一旦票务信息出现滞后或错误,不仅可能导致消费者错过心仪的演出,还可能引发一系列不必要的纠纷和投诉。因此,演出门票小程序通过引入实时…

IMU监测举重作

近日,来自加拿大的科研团队针对举重中因不当举重操作引发的普遍下背痛问题开展了一项开创性研究。团队利用穿戴式惯性测量单元(IMU)技术,在受控实验室环境中,实时监测并评估了举重动作过程中下背部肌肉与脊柱关节的受力…

The First项目报告:Stargate Finance重塑跨链金融的未来

Stargate Finance是一个基于LayerZero协议的去中心化金融平台,自2022年3月由LayerZero Labs创建以来,一直致力于为不同区块链之间的资产转移提供高效、低成本的解决方案。凭借其独特的跨链技术和丰富的DeFi服务,Stargate Finance已成为连接不…

物联网TCP、UDP、CoAP、LwM2M、MQTT协议简单对比

一、前言 目前物联网行业有TCP、UDP、CoAP、LwM2M、MQTT、Modbus系列、JT808、HTTP、TLINK、ISAPI等协议,本文先对其中的几款协议进行介绍。具体关系见下图: 传输层协议:TCP、UDP;应用层协议:CoAP、LwM2M、MQTT、Modbu…

数据结构之线性表(4)

前面我们了解到线性表中的顺序表、链表等结构,今天我们探讨新的一种线性表——栈。 那么我们开始栈的探讨之旅吧。 1.栈的基本概念 1.1栈(Stack): 是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定…

【Mybatis】动态SQL内置参数

配置映射关系的xml文件里,所有的参数都是来自接口方法的传值,但是Mybatis内部,其实还有两个很有作用的内置参数的 ①_databaseId: 在全局变量中配置了多数据库支持的databaseIdProvider属性的前提下,这个内置参数的值就是databas…

【Java】在你上一家公司中是如何如何实现蓝绿发布的?

一、问题解析 随着微服务应用的不断增加,各个微服务之间的依赖关系也变得比较复杂,各个微服务的更新、升级部署给整个服务域的稳定性带来很大挑战。怎么以不停机的方式部署升级微服务呢? 在进行技术方案的设计之前,我们先来了解…

opencv_核心操作

图像基本操作 访问和修改像素值 import numpy as np import cv2 img cv2.imread(c:/Users/HP/Downloads/basketball.png) h,w,c img.shape #图像大小 print(h,w,c)### 841 1494 3# 通过行和列坐标访问像素值 img[100,100]### 231 ### array([231, 140, 146], dtypeuint8)# …

WordPress 站点 Wp-Login.Php 登录页面,防止被机器扫描爆破终极方法

最近好像不少的 WordPress 站点又迎来了一波疯狂的 wp-login.php 登录页面暴力破解,明月使用的 Dragon 主题也迅速的做出了安全防范响应,第一时间就增强了代码上的安全防御能力。明月代运维的几个站点也在这方面加强了防范措施,基本上实现了永久解决这一顽疾的目标,今天明月…

智能编程支持分析本地工程文件,项目级开发效率再度提升!

CodeGeeX的智能问答新增关联本地文件的系列功能,用户在智能问答的输入框中输入,就可以在弹出框中选择需要使用的指令。从而能够针对所关联的文件给出更有针对性的问答和代码建议。 下面我们将分别介绍在编程工作中,如何关联本地文件&#xff…

Shell脚本01

一、shell脚本 脚本就是可运行的代码的集合,脚本语言(计算机语言)。 脚本的特点:从上到下,按行执行。 shell 脚本就是在shell环境(bin/bash)bash就是shell解释器,linux环境下的编…

pytest+requests+allure自动化测试接入Jenkins学习

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近在这整理知识,发现在pytest的知识文档缺少系统性,这里整理一下&…

MCU为什么上电不启动

相信很多朋友们都遇到过,自信满满的将程序下载到板子上,发现MCU居然没启动。 那这个现象可能有很多问题会导致,让我们来看看会有哪些原因。 1、BOOT引脚电平不对: 在GD32 MCU上,BOOT引脚决定了MCU的启动方式&#x…

zabbix监控深信服AD案例+自动发现虚拟服务和链路

文章目录 前言监控功能告警功能 环境准备操作步骤深信服AD开启SNMPSNMP V2SNMP V3 Zabbix导入模版Zabbix中添加深信服AD 前言 深信服AD,应用交付网关,是较为常见的应用发布、负载均衡设备,常用于网络出口。 本案例是通过zabbix的snmp监控深…

拥抱AI-图片学习中的卷积神经算法详解

一、定义 卷积神经算法(Convolutional Neural Networks, CNN)是深度学习领域中的一种重要算法,特别适用于处理图像相关的任务。以下是卷积神经算法的详细解释: 1. 基本概念 定义:卷积神经网络是一类包含卷积计算且具…

网络代理加速器:太阳HTTP的新一代解决方案(网络代理IP)

在当今数字化时代,网络速度与稳定性是企业和个人用户最为关注的重要问题之一。面对不稳定的网络连接,延迟高和速度慢等问题,传统的网络代理已经难以满足用户的需求。 为了解决这一问题,太阳HTTP推出了全新一代的网络代理加速器&a…

SQL Server 2016导入.bak文件到数据库里面步骤

1、打开SSMS管理器 选择数据库 右键 然后点击还原数据库。 2、选择设备 然后点击三个点 找到本地bak文件,然后点击确定 3、点击确定,会自动弹出来一个成功的提示。