pytorch中[...,0]表示什么意思,用法是怎样
Admin 2022-06-29 群英技术资讯 912 次浏览
在看程序的时候看到了x[…, 0]的语句不是很理解,后来自己做实验略微了解,以此记录方便自己查看。
b=torch.Tensor([[[[10,2],[4,5],[7,8]],[[1,2],[4,5],[7,8]]]]) print(b.size()) (1, 2, 3, 2) print(b[…,0]) tensor([[[10., 4., 7.], [ 1., 4., 7.]]]) print(b[…,0].size()) (1, 2, 3) print(b[…,2]) Traceback (most recent call last): File “”, line 1, in IndexError: index 2 is out of bounds for dimension 3 with size 2
print(b[0,…]) tensor([[[10., 2.], [ 4., 5.], [ 7., 8.]], [[ 1., 2.], [ 4., 5.], [ 7., 8.]]]) print(b[0,…].size()) (2, 3, 2)
print(b[0,…,0].size()) (2, 3) print(b[0,…,0]) tensor([[10., 4., 7.], [ 1., 4., 7.]])
[…, 0]表示抽取tensor b的第4根轴上的第一列数字组成tensor,[0, …]表示抽取tensor b的第一根轴上的第一列数字组成tensor,[0, …, 0]表示抽取b的第一根和第四根轴上的第一列数字组成tensor。
还发现一个现象
print(b[…,0:]) tensor([[[[10., 2.], [ 4., 5.], [ 7., 8.]], [[ 1., 2.], [ 4., 5.], [ 7., 8.]]]])
print(b[…,1:]) tensor([[[[2.], [5.], [8.]], [[2.], [5.], [8.]]]])
print(b[…,2:]) tensor([], size=(1, 2, 3, 0))
补充:PyTorch中[..., 0]的使用案例
import torch a = torch.rand((17, 24, 8)) b = a[..., 0] c = a[:, :, 0] print(b == c)
结果为True
import torch a = torch.rand((64, 17, 24, 8)) b = a[..., 0] c = a[:, :, :, 0] print(b == c)
结果为True
可以看出[…, 0]相当于[:, :, … :, 0]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python open()方法用于打开一个文件,并返回文件对象,在对文件处理的过程中都需要用到这个函数,如果文件无法打开,会抛出OSError。
Hadoop作为分布式计算平台,能够处理海量数据,并对数据进行分析。经过近十几年的发展,Hadoop已经形成了以下几点优势。
这篇文章主要介绍了Python中的min及返回最小值索引的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
大家好,本篇文章主要讲的是python的广播机制详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
在做需求过程中有一个对大量数据分块处理的场景,具体来说就是几十万量级的数据,分批处理,每次处理100个。这时就需要一个分块功能的代码。本文为大家分享了一个Python中优雅的数据分块方法,需要的可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008