pytorch中[..., 0]的用法说明


Posted in Python onMay 20, 2021

在看程序的时候看到了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]的使用案例

1. 示例1

import torch
a = torch.rand((17, 24, 8))
b = a[..., 0]
c = a[:, :, 0]
print(b == c)

结果为True

2. 示例2

import torch
a = torch.rand((64, 17, 24, 8))
b = a[..., 0]
c = a[:, :, :, 0]
print(b == c)

结果为True

3. 结论

可以看出[…, 0]相当于[:, :, … :, 0]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
Python检测网站链接是否已存在
Apr 07 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
python操作excel的方法
Aug 16 Python
元组列表字典(莫烦python基础)
Apr 03 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
Python imageio读取视频并进行编解码详解
Dec 10 Python
解决django FileFIELD的编码问题
Mar 30 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
Jun 09 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 #Python
pytorch实现手写数字图片识别
解决python3安装pandas出错的问题
May 20 #Python
python 如何在list中找Topk的数值和索引
May 20 #Python
Requests什么的通通爬不了的Python超强反爬虫方案!
python使用glob检索文件的操作
python opencv通过按键采集图片源码
You might like
深入浅析Yii admin的权限控制
2016/08/31 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
使用console进行性能测试
2015/04/27 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python微信公众号开发平台
2018/01/25 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
反腐倡廉警示教育活动总结
2014/05/05 职场文书
职务说明书范文
2014/05/07 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书