深度学习pytorch——索引与切片

indexing

import torch 
a = torch.rand(4,3,28,28)    # 表示4张28*28的rgb图
print(a[0].shape)            # a[0]获得第一张图片
print(a[0,0].shape)          # a[0,0]获得第一张图片的r图
print(a[0,0,2,4])            # 获得第一张图片第一个通道的一个像素点,因此得到的是一个标量

select first/last N 

# select first/last N
print(a[:2].shape)          # :2 => 0,1
print(a[:2,:1,:,:].shape)   # :1 => 0
print(a[:2,1:,:,:].shape)   # 1: => 1,2
print(a[:2,-1:,:,:].shape)  # -1: => 2

select by steps 

# select by steps
print(a[:,:,0:28:2,0:28:2].shape)   # 0:28:2 => 从0-28,步长为2
print(a[:,:,::2,::2].shape)         # ::2 => 从0-28,步长为2
# 总结
# 1. : => all
# 2. :n => 从最开始到n,不包括n
# 3. n: => 从n到最后
# 4. start:end => 从start到end,不包含end
# 5. start:end:steps => 从start到end,不包含end,步长为2

select by specific index 

# select by specific index
print(a.index_select(0,torch.tensor([0,2])).shape)  # index_select() 第一个参数是维度,第二个参数是具体的索引号,但是索引号必须是tensor,所以要使用torch.tensor()
print(a.index_select(2,torch.arange(28)).shape)     # torch.arange(28) => tensor([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,# 18, 19, 20, 21, 22, 23, 24, 25, 26, 27])

 ...

# ...
print(a[...].shape)         # a[...] => a[:,:,:,:]
print(a[0,...].shape)       # a[0,...] => a[0,:,:,:]
print(a[:,1,...].shape)     # a[:,1,...] => a[:,1,:,:]
print(a[...,:2].shape)      # a[...,:2] => a[:,:,:,:2]

select by mask 

# select by mask
# .masked_select() 会将数据默认打平->之所以打平是因为当满足某条件的位数是根据内容才能确定的
x = torch.randn(3,4)
mask = x.ge(0.5)                            # 将大于等于0.5的数取为ture
print(mask)                                 # 掩码
print(torch.masked_select(x,mask))          # 根据掩码取数据和原shape无关
print(torch.masked_select(x,mask).shape)

select by flatten index 

# select by flatten index   打平
src = torch.tensor([[4,3,5],[6,7,8]])
print(torch.take(src,torch.tensor([0,2,5])))        # 打平,取索引为0,2,5的数

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

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

相关文章

【C#】【SAP2000】读取SAP2000中所有Frame对象在指定工况的温度荷载值到Grasshopper中

if (build true) {// 连接到正在运行的 SAP2000// 使用 COM 接口获取 SAP2000 的 API 对象cOAPI mySapObject (cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject");// 获取 SAP2000 模型对象cSapModel mySapModel mySap…

4262. 空调(acwing)

文章目录 4262. 空调题目描述贪心差分难点解析差分数组的更新计算最小命令数量更新差分数组反向差分计算计算最小指令数量 4262. 空调 题目描述 Farmer John 的 N头奶牛对他们牛棚的室温非常挑剔。 有些奶牛喜欢温度低一些,而有些奶牛则喜欢温度高一些。 Farmer…

MySQL数据库操作学习(1)

文章目录 一_初识MySQL数据库1、数据库2、数据库分类1.关系型数据库2.非关系型数据库(备用) 3、数据库概念1.数据(data)2.数据库(database)3.数据管理系统(DBMS) 二、MySQL库操作了解…

315曝光黑灰产业链:主板机

关注卢松松,会经常给你分享一些我的经验和观点。 315晚会曝光主板机黑灰产业链,主板机是什么呢?可能很多人还不知道。在这里松松给大家普及一下,也欢迎大家关注卢松松哟! 主板机是什么呢? 通过报废手机的主板,拆出来后组装成主…

【XR806开发板试用】xr806 RTC实验

一、例程编译、烧录确认 首先按照全志在线文档平台的点灯教程确保能正常编译、烧录和点灯:https://xr806.docs.aw-ol.com/… 确保例程没问题后,我们再改造例程,实现我们想要的功能 二、代码编写 我们将hello工程复制一份改文件夹名为rtc_demo…

专升本 C语言笔记-06 常用的3种输入输出函数

1.scanf() 与 printf() 的使用 scanf() 格式化输入数据 格式:scanf("格式控制字符串",参数地址列表) scanf("%d,%d,%d",&a,&b,&c); printf("a %d\n",a); printf("b %d\n",b); printf("c %d\n",c); 注意 注…

【数据结构】堆

目录 一、树的介绍以及堆 1.树 2.二叉树以及堆 二、堆的实现 1.heap.h 2.heap.c 1)堆的初始化和销毁 2) 堆的插入 3)堆的删除 4)取堆顶数据 5)堆的数据个数 6)堆的判空 3.test.c 一、树的介绍以及堆 …

跨境电商选品实战——Ownips公开数据信息安全采集+Python爬虫轻松搞定Lazada电商选品

文章目录 一、引言二、Lazada电商平台选品实战2.1、分析Lazada电商平台的商品列表接口2.2、定位商品列表计算逻辑2.3、封装高质量住宅IP2.4、运行爬虫 三、数据处理及选品分析四、Ownips——企业级全球静态住宅IP,高效采集公开数据 一、引言 互联网与外贸的结合&am…

Maya自定义工具架

有时候我们需要自己定义工具架上的内容,比如将一个工具放到工具架上,或者删除一个工具 添加一个工具 例如我们想在多边形建模栏位上添加一个分离按钮,默认 1 先切换到想要添加的工具架栏位 2 打开菜单,找到我们想添加的工具 …

前端实现websocket通信讲解(vue2框架)

websocket: WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议 websocket提供的api&a…

70城市房价同比继续下降

据北京商报的最新报道,昨(3月15日)天国家统计局发布《2月70个大中城市商品住宅销售价格》显示,2024年2月,在70个大中城市中,各线城市商品住宅销售价格同比继续下降。 一线城市二手住宅销售价格同比下降6.3…

拿捏指针(二)

个人主页:秋邱博客 所属栏目:C语言 (感谢您的光临,您的光临蓬荜生辉) 目录 前言 数组与指针 数组名的理解 指针数组与数组指针 指针数组 数组指针 数组传参 一维数组传参的本质 二维数组传参的本质 二维数组…

Github Gitlab SSH 密钥配置

1. 操作流程 生成密钥(非对称加密) ssh-keygen -t rsa -C "your_emailexample.com"注意,这里的 -C 表示注释,没有什么用,主要是标记密钥避免自己遗忘。 查看密钥(公钥) //进入所属…

Go 日期时间包装器:15条更便捷的时间处理

在Go编程中,处理日期和时间是一项常见任务,涉及到精确性和灵活性。尽管Go的标准库提供了时间包(time)用于处理时间相关操作,但在某些情况下,我们需要额外的实用函数来简化这些任务。本文将介绍一系列实用函…

RIPGeo参文31—36(关于对比学习):鼓励对同一数据点进行各种增强(视图),以学习更健壮的表示

RIPGeo中有: —干扰参数。在内部最大化中,我们提出了步骤,以增加损失的方向更新。我们的方法不是用简单的一步方案最大化内部部分,而是在每次迭代结束时将扰动投影到球面空间上(第2-7行),这允许模型产生更微妙但有价值的扰动[31]。 [31] A. Kurakin, I. J. Goodfellow…

代码随想录算法随想录day22 | 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

目录 二叉搜索树的最近公共祖先思路解题方法复杂度Code 二叉搜索树中的插入操作思路解题方法复杂度Code 删除二叉搜索树中的节点思路解题方法复杂度Code 总结 二叉搜索树的最近公共祖先 链接: 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共…

【智能硬件、大模型、LLM 智能音箱】MBO:基于树莓派、ChatGPT 的桌面机器人

MAKER:David Packman/译:趣无尽(转载请注明出处) 这是国外 Maker David Packman 制作的基于树莓派机器人 MBO,该机器人的外观设计灵感来自动漫 Adventure Time 中的机器人 MBO。它具有强大的交互功能,可实现脱机唤醒词检测、调用 ChatGPT 3.5 进行聊天、机器视觉对图像进…

京东云主机+京美建站SaaS版

京美建站SaaS版 京美建站搭建企业网站、小程序、3000精美模板 链接:https://daili.jd.com/s?linkNo57UBX34BZMWGNFYTOCPVUE7SN36CCIPKLTFLPCUCPYBKSYYBIPS2BJ57GP7RACLDHU66X526ZOULMIXL2VN7DT7IHU 京东云主机,安全稳定,性能强劲,新客下单…

(网络安全)一款强大的逆向分析工具,开源!

工具介绍 Ghidra 是由美国国家安全局(NSA)研究部门开发的软件逆向工程(SRE)套件,用于支持网络安全任务。包括一套功能齐全的高端软件分析工具,使用户能够在各种平台(Windows、Mac OS和Linux)分析编译后的代…

如何成为一名CCAA审核员?报名复习考试注册实习指南

一、管理体系审核员的注册领域 管理体系审核员包括质量管理体系(QMS)、环境管理体系(EMS)、职业健康安全管理体系(OHSMS)、食品安全管理体系(FSMS)、危害分析与关键控制点&#xff0…