Six—pytorch学习—索引与切片

pytorch学习(3)

索引与切片

  • 普通索引
  • 冒号索引(切片)
  • index_select 选择特定索引
  • masked_select 选择符合条件的索引
  • take 索引

普通索引

  • index(有负索引)
import torch

a = torch.Tensor(2,3,32,32)
print(a.shape)
print(a[0].shape)
print(a[0][0].shape)
print(a[0][0][0][0].shape)
print(a[0][0][0][0])
torch.Size([1, 3, 32, 32])
torch.Size([2, 3, 10, 10])
torch.Size([2, 3, 16, 16])
torch.Size([2, 3, 16, 16])
torch.Size([2, 3, 32, 32])

index_select 选择特定索引

  • torch.index_select(x, 维度, torch.tensor([a,b]))
  • x代表目标张量,[a,b]代表从a到b
import torch

a = torch.linspace(0, 12, steps=12)
#创建一个列表从0到12的浮点型
print(a)

c = a.view(3,4) #将a进行维度转换变为三行四列的二维张量

b = torch.index_select(c, 0, torch.tensor([0,2]))
#索引张量c的1维,是行,即为索引第0行以及第2行
print(b)

d = torch.index_select(c, 1, torch.tensor([1,3]))
#索引c的2维,是列,即为索引第1列和第3列
print(d)
tensor([[ 1.1909,  0.2912, -0.1066],
        [ 0.9496,  0.6031,  1.5957],
        [-0.2447,  0.0101,  2.4906]])
tensor([[ True, False, False],
        [False,  True, False],
        [False, False,  True]])
tensor([1.1909, 0.6031, 2.4906])

take索引

  • torch.take(input, index) take索引是在原来tensor的shape基础上打平,然后按照index在打平后的tensor上索取对应位置的元素

`python
import torch

a = torch.randn(3,3) #创建一个三行三列的正态分布的矩阵
print(a)
c = torch.take(a, torch.tensor([0,2,4,6,8]))
print(c)

Original: https://www.cnblogs.com/311dih/p/16583850.html
Author: 叁_311
Title: Six—pytorch学习—索引与切片

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643687/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Flask Post 获取json数据,小文件实例

    @app.route("/get_parserResult", methods=[‘POST’]) def get_parserResult(): data =…

    技术杂谈 2023年6月1日
    090
  • 用户身份标识与账号体系实践

    互联网的账号自带备忘机制; 一、业务背景 通常在系统研发的过程中,需要不断适配各种业务场景,扩展服务的领域和能力,一般会将构建的产品矩阵划分出多条业务线,以便更好的管理; 由于各个…

    技术杂谈 2023年7月23日
    062
  • 3种常见的数据脱敏方案

    1.SQL数据脱敏实现 MYSQL(电话号码,身份证)数据脱敏的实现 — CONCAT()、LEFT()和RIGHT()字符串函数组合使用,请看下面具体实现 — CONCAT(…

    技术杂谈 2023年5月31日
    074
  • Mysql索引学习笔记

    https://www.jianshu.com/p/ace3cd6526c4 推荐up主https://space…

    技术杂谈 2023年7月25日
    072
  • Mysql重复数据查询置为空

    前两天产品有个需求,相同的商品因为价格不同而分开展示,但是明细还是算一条明细,具体区分展示出商品的价格和数量信息,其他重复的商品信息要置空。 需求并不难,用程序代码循环处理就可以了…

    技术杂谈 2023年7月11日
    092
  • python的基本运用

    python基础 Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言 开发者:Guido van Rossum(人称龟叔) 基本概念 1.变量 变量名必须是大小…

    技术杂谈 2023年7月11日
    086
  • Postman 正确使用姿势

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的…

    技术杂谈 2023年7月11日
    057
  • vue-admin-template组件前端,登录验证成功后,getInfo方法不调用

    先查看request.js中自定义状态码是否为自己的定义的成功状态码 这里的状态码该为自己的成功状态码 Original: https://www.cnblogs.com/antl…

    技术杂谈 2023年6月21日
    084
  • 类的动态装载java

    类的动态装载 首先,我们要明白类加载的过程,再来区分静态加载和动态加载,类加载的过程,本质上就是将类文件,从硬盘读取到内存中的过程,而静态加载是在编译时加载,动态加载是在程序运行时…

    技术杂谈 2023年7月23日
    074
  • 技能篇:linux服务性能问题排查及jvm调优思路

    只要业务逻辑代码写正确,处理好业务状态在多线程的并发问题,很少会有调优方面的需求。最多就是在性能监控平台发现某些接口的调用耗时偏高,然后再发现某一SQL或第三方接口执行超时之类的。…

    技术杂谈 2023年7月25日
    082
  • 神秘的backlog参数与TCP连接队列

    原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 这要从一次压测项目说起,那是我们公司的系统与另几家同行公司的系统做性能比拼,性能数据会直接影响…

    技术杂谈 2023年7月25日
    084
  • 如何将编写的c语言程序打包成exe可执行文件呢?

    如何将编写的c语言程序打包成exe可执行文件呢? 以前我们写程序很多是在编辑器上,让编辑起来编译运行我们的程序。如果想将其打包成exe可执行文件该如何做? 我这里推荐使用codeB…

    技术杂谈 2023年6月21日
    0140
  • 图像搜索、以图搜图测试

    图像搜索、以图搜图测试; Original: https://www.cnblogs.com/chenying99/p/12534633.htmlAuthor: 刺猬的温驯Titl…

    技术杂谈 2023年5月31日
    0114
  • nodejs读写yaml

    nodejs读写yaml npm install -g js-yaml // read.js const fs = require(‘fs’); const yaml = requ…

    技术杂谈 2023年5月31日
    091
  • 自己动手实现一个简单的 IOC容器

    控制反转,即Inversion of Control(IoC),是面向对象中的一种设计原则,可以用有效降低架构代码的耦合度,从对象调用者角度又叫做依赖注入,即Dependency …

    技术杂谈 2023年7月25日
    0220
  • 「萌新指南」SOA vs. 微服务:What’s the Difference?

    实话实说,在我还没有实习之前,我是连 SOA 是啥都不知道的,只听说过微服务,毕竟微服务实在太火了,想不知道都难,我觉得实习的时候肯定也是微服务,进组之后发现是 SOA 架构,当时…

    技术杂谈 2023年7月24日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球