首页 > 编程语言 >python|多维切片之冒号和三个点

python|多维切片之冒号和三个点

时间:2022-10-12 22:58:31浏览次数:45  
标签:... 冒号 tensor python 0.3325 0.3968 0.3351 print 多维

1. 前言

在torch和numpy中经常会遇到对tensor进行切片操作,如x[..., :3], [:, :2]等,对于:的操作很好理解,与python列表中操作相同。而...就是在切片的过程中自动判断维度的意思,大概就是总size-逗号个数,所以在切片操作中不会出现两个省略号。

2. 示例

以torch中的切片为例,如下:

import torch
x = torch.rand((2,3,4))
print(x)
y = x[..., 2:4]
z = x[..., :, -1]
k = x[:, :, -1]
j = x[1, ...]

print("y", y)
print("z:", z)
print("k", k)
print("j", j)

输出如下:

tensor([[[0.2626, 0.8649, 0.0496, 0.0013],
         [0.5466, 0.1964, 0.1133, 0.5052],
         [0.8863, 0.2080, 0.0276, 0.0924]],

        [[0.4060, 0.8400, 0.4646, 0.3968],
         [0.2729, 0.3125, 0.7060, 0.3351],
         [0.3627, 0.8817, 0.9210, 0.3325]]])
         
y: tensor([[[0.0496, 0.0013],
         [0.1133, 0.5052],
         [0.0276, 0.0924]],

        [[0.4646, 0.3968],
         [0.7060, 0.3351],
         [0.9210, 0.3325]]])
         
z: tensor([[0.0013, 0.5052, 0.0924],
        [0.3968, 0.3351, 0.3325]])
        
k tensor([[0.0013, 0.5052, 0.0924],
        [0.3968, 0.3351, 0.3325]])
        
j tensor([[0.4060, 0.8400, 0.4646, 0.3968],
        [0.2729, 0.3125, 0.7060, 0.3351],
        [0.3627, 0.8817, 0.9210, 0.3325]])

通过实际案例也可以发现:...代替了他前面所有的:,例如上面案例中y,他里面的...代替了第0维和第1维的两个冒号,而对于z案例的情况省略号和冒号的作用相同。

标签:...,冒号,tensor,python,0.3325,0.3968,0.3351,print,多维
From: https://www.cnblogs.com/tangjielin/p/16786425.html

相关文章

  • python 文件打开,读,写,
    1.open()打开函数在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下open(name,mode,encoding)name:是要打开的目标文件名的字符串(可以包......
  • 2022年第 2 期《Python 测试平台开发》进阶课程(10月30号开学)
    2022年第2期《Python测试平台开发》进阶课程主讲老师:上海-悠悠上课方式:微信群视频在线教学,方便交流本期上课时间:10月30报名费:报名费3800一人(周期3个月,之前学过《pyt......
  • python 装饰器
      ########################################################################################################传统写法,主要功能和辅助功能写在一个函数内####......
  • python基础-较复杂数据类型预览
    1.初识列表  列表就是队列;  列表是一种有序的,且内容可重复的数据类型;  用list代表列表,也可以用list()定义一个列表,同时定义列表可以直接使用[];  python中列......
  • python中的运算函数
    1、abs(x)x的绝对值2、complex(re,im)返回一个复数,re是实部,im是虚部3、c.conjugate()返回c的共轭复数4、pow(x,y)计算x的y次方; pow(x,y,z)先计算x的y次方,然后结果在对z取余5、x......
  • python基础之多层语法糖、函数递归
    python基础之多层语法糖、函数递归目录一、多层语法糖二、装饰器模版三、装饰器修复技术四、函数的递归调用1.函数的递归调用2.递归函数的定义3.递归函数的特点4.递归函数......
  • python 函数装饰器
    今日内容概要作业讲解多层语法糖问题有参装饰器装饰器修复技术递归函数算法之二分法今日内容详细多层语法糖defoutter1(func1):print('加载了outter1......
  • 经典的Python题目【杭州多测师】【杭州多测师_王sir】
    """这个m遍历那个匿名函数每一次遍历到最后都是最大值3,m括号里面的2是传给x的实参双循环打断了,m每次进去出来都取了最后一次的3。m是匿名函数,可以理解为m=[lambdax......
  • Python之鸡兔同笼
    1.问题的描述大约在1500年前,《孙子算经》中就记载了这个有趣的问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”意思是,有若干只鸡和兔子关在同一个笼子里,从上面数......
  • Python基础13
    今日内容概要多层语法糖有参装饰器装饰器修复技术递归函数今日内容详细多层语法糖'''多层语法糖加载顺序由下往上每次执行之后如果上面还有语法糖则直接将返......