笔记:对多维torch进行任意维度的多“行”操作
如何取出多维torch指定维度的指定“行”
- 从二维torch开始
- 新建torch
- 取出某一行
- 取出某一列
- 一次性取出多行
- 取出连续的多行
- 取出不连续的多行
- 一次取出多列
- 取出连续的多列
- 取出不连续的多列
- 考虑三维torch
- 取出三维torch的任意两行(means 在dim=0上操作)
- 取出连续的行
- 取出不连续的行
- 取出任意列
- 取出连续的列 & 取出任意列
- 取出任意页(dim=2)
- 取出前n页
- 取出任意页
- else:取出dim=0/dim=1/dim=2的任意元素操作
从二维torch开始
新建torch
import torch# 新建一个二维 torch
a = torch.tensor ( [[1,2,3,4],[2,3,1,5],[5,1,7,2]])
a.shapeOut[5]: torch.Size([3, 4])
取出某一行
a[1] # 取出第1行(从0行开始)Out[6]: tensor([2, 3, 1, 5])a[1].shapeOut[28]: torch.Size([4])
取出某一列
a[:,2] # 虽说取出的是第2列,但还是以行的形式显示Out[26]: tensor([3, 1, 7])a[:,2].shapeOut[27]: torch.Size([3])
一次性取出多行
取出连续的多行
——有多种操作方式
######## scheme 1 ##########
a[[0, 1]] # 取出前两行
### 此时需注意,需要使用两个中括号,使用 a[0,1] 的格式取出的是 a 的第0行第1列的具体某个元素“tensor(2)”Out[7]:
tensor([[1, 2, 3, 4],[2, 3, 1, 5]])######## scheme 2 ###########
a[[range(2)]] # 取出前两行
### 当没有别的指示(如冒号等)时,默认对dim=0进行操作Out[8]:
tensor([[1, 2, 3, 4],[2, 3, 1, 5]])######### scheme 3 ###########
a[range(2)] # 也可以不使用两个中括号
Out[31]:
tensor([[1, 2, 3, 4],[2, 3, 1, 5]])
取出不连续的多行
如:取出第0行和第2行
a[[0,2]]Out[38]:
tensor([[1, 2, 3, 4],[5, 1, 7, 2]])
一次取出多列
取出连续的多列
——同样拥有多种方案
############## scheme 1 ###############
a[:,range(2)] # 取出前两列Out[31]:
tensor([[1, 2],[2, 3],[5, 1]])############ scheme 2 #################
a[:,[0,1]]
Out[32]:
tensor([[1, 2],[2, 3],[5, 1]])
取出不连续的多列
如取出第0列和第3列
a[:,[0,3]]Out[40]:
tensor([[1, 4],[2, 5],[5, 2]])
考虑三维torch
# 新建一个三维torch
b = torch.tensor([ [[1, 2, 3, 7], [4, 5, 6, 9]],
[[7, 8, 9, 2], [10, 11, 12, 3]],
[[13, 14, 15, 4], [16, 17, 18, 6]]])b.shapeOut[10]: torch.Size([3, 2, 4])bOut[11]:
tensor([[[ 1, 2, 3, 7],[ 4, 5, 6, 9]],[[ 7, 8, 9, 2],[10, 11, 12, 3]],[[13, 14, 15, 4],[16, 17, 18, 6]]])
此三维torch可视化如下:
取出三维torch的任意两行(means 在dim=0上操作)
取出连续的行
以前两行为例
b[range(2)] # 还是使用中括号Out[12]:
tensor([[[ 1, 2, 3, 7],[ 4, 5, 6, 9]],[[ 7, 8, 9, 2],[10, 11, 12, 3]]])b[range(2)].shapeOut[13]: torch.Size([2, 2, 4])b[range(2)] == b[[range(2)]] # 使用一个中括号还是两个中括号,都是一样的效果### 但是不能使用三个,shape 会变成 torch.Size([1,2,2,4])Out[34]:
tensor([[[True, True, True, True],[True, True, True, True]],[[True, True, True, True],[True, True, True, True]]])
取出不连续的行
如取出第0行和第2行
b[[0,2]]Out[42]:
tensor([[[ 1, 2, 3, 7],[ 4, 5, 6, 9]],[[13, 14, 15, 4],[16, 17, 18, 6]]])
取出任意列
取出连续的列 & 取出任意列
######### 取出中间维度(dim=1)的前一列
b[:,range(1)].shape Out[19]: torch.Size([3, 1, 4])b[:,range(1)]Out[25]:
tensor([[[ 1, 2, 3, 7]],[[ 7, 8, 9, 2]],[[13, 14, 15, 4]]])############# 取出前两列
b[:,range(2)] Out[43]:
tensor([[[ 1, 2, 3, 7],[ 4, 5, 6, 9]],[[ 7, 8, 9, 2],[10, 11, 12, 3]],[[13, 14, 15, 4],[16, 17, 18, 6]]])b[:,range(2)].shapeOut[44]: torch.Size([3, 2, 4])############## 取出任意一列
b[:,1]Out[46]:
tensor([[ 4, 5, 6, 9],[10, 11, 12, 3],[16, 17, 18, 6]])
取出任意页(dim=2)
取出前n页
##################### 取出前两页
b[:,:,range(2)]Out[47]:
tensor([[[ 1, 2],[ 4, 5]],[[ 7, 8],[10, 11]],[[13, 14],[16, 17]]])b[:,:,range(2)].shapeOut[48]: torch.Size([3, 2, 2])
取出任意页
如取出第0页,第2页和第3页
b[:,:,[0,2,3]]Out[49]:
tensor([[[ 1, 3, 7],[ 4, 6, 9]],[[ 7, 9, 2],[10, 12, 3]],[[13, 15, 4],[16, 18, 6]]])b[:,:,[0,2,3]].shapeOut[50]: torch.Size([3, 2, 3])
else:取出dim=0/dim=1/dim=2的任意元素操作
待补充
相关文章:

笔记:对多维torch进行任意维度的多“行”操作
如何取出多维torch指定维度的指定“行” 从二维torch开始新建torch取出某一行取出某一列一次性取出多行取出连续的多行取出不连续的多行 一次取出多列取出连续的多列取出不连续的多列 考虑三维torch取出三维torch的任意两行(means 在dim0上操作)取出连续…...

【VSCode】1、VSCode 如何连接服务器
文章目录 一、安装 remote-ssh 插件二、直接连接三、配置 SSH 公匙,免密登录 一、安装 remote-ssh 插件 点击插件搜索框,搜 remote-ssh,点击安装 安装完成后就会出现下面的图标: 二、直接连接 点击加号,输入 ssh 连接…...

AI工具:通过智能实现工作和学习效率的革命化
AI工具是指一系列人工智能技术和工具,包括机器学习、深度学习、自然语言处理、计算机视觉等。这些工具可以帮助开发人员和数据科学家通过处理和分析海量数据来自动识别和解决问题,提供智能的决策和预测模型。常见的AI工具包括TensorFlow、PyTorch、Keras…...

static 和构造方法
文章目录 static构造方法内存中数据的存储方式示例 static 具体对象的属性,称之为对象属性,成员属性,实例属性。 具体对象的方法,称之为对象方法,成员方法,实例方法。 静态:static 和具体对…...

【Linux 裸机篇(八)】I.MX6U EPIT 定时器中断、定时器按键消抖
目录 一、EPIT 定时器简介二、定时器按键消抖 一、EPIT 定时器简介 EPIT 的全称是: Enhanced Periodic Interrupt Timer,直译过来就是增强的周期中断定时器,它主要是完成周期性中断定时的。学过 STM32 的话应该知道, STM32 里面的…...

Web安全 XSS靶场搭建(玩转整个XSS环境.)
Web安全 XSS靶场搭建 XSS又叫CSS(Cross Site Script)跨站脚本攻击,指的是攻击者在Web页面,插入恶意JS代码,当用户浏览该页之时,嵌入其中JS代码就会被执行,从而达到攻击的目的.(包含…...

前端开发技术——DOM(上)
一.单选题(共4题,44.4分) 1 下列选项中,关于事件的描述错误的是() A、 事件指的是可以被JavaScript侦测到的行为 B、 事件驱动程序指的是事件触发后要执行的代码 C、 事件源是指触发的事件 D、 事件的种类称为事件…...

银河麒麟v10服务器版安装OpenDDS
1. OpenDDS简介 OpenDDS是OMG数据分发服务(DDS)的一种开源实现,它遵循实时系统v1.2的DDS规范(OMG Document formal/07-01-01)和实时公布/订阅互操作性通信协议v2.1的DDS-RTPS规范(OMG Document formal/2010-11-01)。OpenDDS由OCI公司设计和维护,可从http…...

curl方式调用电商API接口示例 详细介绍
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。 cURL支持的通信协议有FTP、FTPS、HTTP、H…...

Duboo介绍与入门
文章目录 1、Dubbo的前世今生2、Dubbo的快速入门2.1、Dubbo的基本架构2.2、Nacos2.3、管理后台2.4、入门案例2.4.1、服务提供者搭建环境代码实现配置文件 2.4.2、服务消费者搭建环境代码实现配置文件 最后说一句 1、Dubbo的前世今生 2011年10月27日,阿里巴巴开源了…...

人工智能中(Pytorch)框架下模型训练效果的提升方法
大家好,我是微学AI,今天给大家介绍一下人工智能中(Pytorch)框架下模型训练效果的提升方法。随着深度学习技术的快速发展,越来越多的应用场景需要建立复杂的、高精度的深度学习模型。为了实现这些目标,必须采用一系列复杂的技术来提…...

树莓派CSI摄像头使用python调用opencv库函数进行运动检测识别
目录 一、完成摄像头的调用 二、利用python调用opencv库函数对图像进行处理 2.1 图像处理大体流程 2.2 opencv调用函数的参数以及含义 2.2.1 ret, img cap.read() 读取帧图像 2.2.2 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 灰度图像 2.2.3 gray_diff_img cv2.absdiff(g…...

Parameters(in)、Parameters(out) and Parameters(inout)
0前言 参数类型(Parameters)指的是函数参数在调用时所具有的性质,从而对函数的调用方式产生影响。在 C 语言中,存在三种不同类型的函数参数:Parameters(in)、Parameters(out) 和 Parameters(inout) 1定义 Parameter…...

jstat命令查看jvm内存情况及GC内存变化
命令格式 jstat [Options] pid [interval] [count] 参数说明: Options,选项,一般使用 -gc、-gccapacity查看gc情况 pid,VM的进程号,即当前运行的java进程号 interval,间隔时间(按该时间频率自动刷新当前内存…...

java 图形化小工具Abstract Window Toolit :画笔Graphics,画布Canvas(),弹球小游戏
画笔Graphics Java中提供了Graphics类,他是一个抽象的画笔,可以在Canvas组件(画布)上绘制丰富多彩的几何图和位图。 Graphics常用的画图方法如下: drawLine(): 绘制直线drawString(): 绘制字符串drawRect(): 绘制矩形drawRoundRect(): 绘制…...

HCIA-RS实验-STP和RSTP(1)
这篇文章开始前,先简单说下这2个协议; 本文介绍了STP和RSTP的基本原理、优缺点以及应用场景。STP和RSTP都是生成树协议,主要作用于避免网络中的环路,保证数据包能够正常转发。在实际应用中,需要根据实际情况选择合适的…...

Leetcodes刷题之删除链表的倒数N个结点和删除链表的中间的结点
吾心信其可行,则移山填海之难,终有成功之日。 --孙中山 目录 🍉一.删除链表的倒数N个结点 🌻1.双指针 🍁2.求链表的长度 🌸二.删除链表的中间的结点 🍉一.删除链…...

Java-数据结构-并查集<二>
一.并查集的简单介绍 二. 并查集的主要构成和实现方式 三.HashMap模板和数组模板 由于在下文的模板基本一致,不再每次都罗列,大体的模板如下,若有错误可以在leetcode找到对应的题目解答,已经附上连接。 HashMap class UnionFi…...

JSP网上教学资源共享系统(源代码+论文)
通过网上教学资源共享系统的建设,完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制,通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术,可以实现数据的高效、动态、…...

QT C++入门学习(1) QT Creator安装和使用
Qt官方下载 Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/ 进入链接后,是一个文件目录,依次进入这个路径:archive/qt/5.12/5.12.9/qt-o…...

UE动画状态机的事件触发顺序测试
正常A状态过渡到B状态的事件顺序: 整个流程为: 调用B状态的On Become Relevant事件调用B状态的On Update事件调用A状态的Left State Event事件调用B状态的Entered State Event事件调用B状态的Start Transition Event事件调用B状态的End Transition Even…...

数学建模的搜索技巧
你真的会使用“度娘”吗?是不是在查找所需要的东西的时候,搜出来的信息价值并不是很大,跟着北海老师学习,如何更高效的使用百度去查询自己想要的,有用的资料! 搜索技巧 完全匹配搜索 : 查询词的外边加上双…...

学成在线笔记+踩坑(10)——课程搜索、课程发布时同步索引库。
导航: 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题_java黑马笔记 目录 1 【检索模块】需求分析 1.1 全文检索介绍 1.2 业务流程 1.2.1、课程发布时索引库里新增一条记录 1.2.2、课程搜索 2 准…...

某应用虚拟化系统远程代码执行
漏洞简介 微步在线漏洞团队通过“X漏洞奖励计划”获取到瑞友天翼应用虚拟化系统远程代码执行漏洞情报(0day),攻击者可以通过该漏洞执行任意代码,导致系统被攻击与控制。瑞友天翼应用虚拟化系统是基于服务器计算架构的应用虚拟化平台,它将用户…...

solaris-Oracle11g于linux-mysql相连
Oracle11g(solaris64sparc)mysql(linux)实验 此实验目的,实现公司ebs R12 连mysql上的短信平台.预警和提示ebs中信息, 一,环境 主机名 ip 平台 数据库 dbname ebs234 192.168.1.234 …...

大厂齐出海:字节忙种草,网易爱社交
配图来自Canva可画 随着国内移动互联网红利逐渐触顶,互联网市场日趋饱和,国内各互联网企业之间的竞争便愈发激烈起来。在此背景下,广阔的海外市场就成为了腾讯、阿里、字节、京东、拼多多、百度、网易、快手、B站等互联网公司关注和争夺的重…...

几个实用的正则表达式
1到100之间的正整数正则 表达式:^[1-9]\d?$|^100$ 解释: ^表示匹配字符串开始位置 [1-9]表示数字1-9中的任意一个 \d表示任意一个数字 ?表示前面一个字符或子表达式出现0或1次 $表示匹配字符串结束位置 |表示或 最终的解释为:匹配满…...

python实战应用讲解-【numpy数组篇】常用函数(八)(附python示例代码)
目录 Python Numpy MaskedArray.cumprod()函数 Python Numpy MaskedArray.cumsum()函数 Python Numpy MaskedArray.default_fill_value()函数 Python Numpy MaskedArray.flatten()函数 Python Numpy MaskedArray.masked_equal()函数 Python Numpy MaskedArray.cumprod()函…...

Speech and Language Processing-之N-gram语言模型
正如一句老话所说,预测是困难的,尤其是预测未来。但是,如何预测一些看起来容易得多的事情,比如某人接下来要说的几句话后面可能跟着哪个单词。 希望你们大多数人都能总结出一个很可能的词是in,或者可能是over&#x…...

【AI】Python 安装时启用长路径支持
文章目录 场景:解释:关于文件长路径:计算方法: 场景: Python 安装时,会出现 Disable path length limit 的提示。 解释: 在 Windows 操作系统中,文件路径的长度是有限制的。在早期…...