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 相关文章推荐
Python中apply函数的用法实例教程
Jul 31 Python
python的即时标记项目练习笔记
Sep 18 Python
Python内置函数delattr的具体用法
Nov 23 Python
Python 实现中值滤波、均值滤波的方法
Jan 09 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
Python ArgumentParse的subparser用法说明
Apr 20 Python
python代码中怎么换行
Jun 17 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
webpack项目轻松混用css module的方法
2018/06/12 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
超市仓管员岗位职责
2014/04/07 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
小学生环保倡议书
2014/05/15 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
小爸爸观后感
2015/06/15 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android
Python中tqdm的使用和例子
2022/09/23 Python