【pytorch05】索引与切片

2024-06-23 18:52
文章标签 切片 索引 pytorch05

本文主要是介绍【pytorch05】索引与切片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

索引

在这里插入图片描述
a[0,0]第0张图片的第0个通道
a[0,0,2,4]第0张图片,第0个通道,第2行,第4列的像素点,dimension为0的标量

选择前/后N张图片

在这里插入图片描述
a[:2,:1,:,:].shape前两张图片,第1个通道上的所有图片的数据

a[:2,1:,:,:].shape前两张图片,取第一个通道开始,也就是G,B通道,通道的索引为[0,1,2],我们是从1开始到最末尾,所以取得是1通道和2通道即G和B

a[:2,-1:,:,:].shape前两张图片,从最后一个通道开始取到最后一个通道

选择步长

在这里插入图片描述

选择具体的索引

在这里插入图片描述
a.index_select(0,torch.tensor([0,2])).shape第一个参数为对哪一个维度进行操作,第二个参数给的是索引号不能直接以list的方式给,必须把list转化为tensor

a.index_select(1,torch.tensor([1,2])).shape

…任意多维度

在这里插入图片描述
[B,C,H,W]
a[0,...,::2]根据推测3个点代表任意长,从0维度开始,::2表示最后一个维度,当有…出现时,右边的索引需要理解为最右边,因此…表示的是C维度和H维度,所以这里想要表示的是,第0个图片取所有的channel和height,列每隔一个单位取一个会变成[3,28,14]

…仅仅是为了方便

掩码索引

在这里插入图片描述
x.ge(0.5)大于等于0.5的元素的位置置为1,得到这样的一个掩码,虽然显示的是torch.uint8类型但实际是ByteTensor类型,然后根据掩码来取,把掩码为1的元素取出来,因此会得到3个大于等于0.5的元素,通过mask_select得到的tensor的shape跟原来的tensor是没有关系的,之所以打平是因为大于0.5的元素个数是根据内容确定的

在这里插入图片描述
torch.take(src,torch.tensor([0,2,5]))先把tensor打平,比如把这里的[2,3]打平成[6]变成dimension为1,size为6的tensor,再去打平以后的编码

这篇关于【pytorch05】索引与切片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087985

相关文章

Elasticsearch 的索引管理与映射配置实战指南

《Elasticsearch的索引管理与映射配置实战指南》在本文中,我们深入探讨了Elasticsearch中索引与映射的基本概念及其重要性,通过详细的操作示例,我们了解了如何创建、更新和删除索引,... 目录一、索引操作(一)创建索引(二)删除索引(三)关闭索引(四)打开索引(五)索引别名二、映射操作(一

MySQL索引踩坑合集从入门到精通

《MySQL索引踩坑合集从入门到精通》本文详细介绍了MySQL索引的使用,包括索引的类型、创建、使用、优化技巧及最佳实践,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录mysql索引完整教程:从入门到入土(附实战踩坑指南)一、索引是什么?为什么需要它?1.1 什么

Mysql数据库聚簇索引与非聚簇索引举例详解

《Mysql数据库聚簇索引与非聚簇索引举例详解》在MySQL中聚簇索引和非聚簇索引是两种常见的索引结构,它们的主要区别在于数据的存储方式和索引的组织方式,:本文主要介绍Mysql数据库聚簇索引与非... 目录前言一、核心概念与本质区别二、聚簇索引(Clustered Index)1. 实现原理(以 Inno

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态