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 isinstance判断对象类型
Sep 06 Python
python基础教程之简单入门说明(变量和控制语言使用方法)
Mar 25 Python
Python中设置变量访问权限的方法
Apr 27 Python
Python的多态性实例分析
Jul 07 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
Feb 24 Python
python安装教程
Feb 28 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
python使用turtle库绘制树
Jun 25 Python
python编辑用户登入界面的实现代码
Jul 16 Python
Python 爬虫性能相关总结
Aug 03 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
js中this对象用法分析
2018/01/05 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
儿媳婚宴答谢词
2014/01/14 职场文书
物理研修随笔感言
2014/02/14 职场文书
大学运动会入场词
2014/02/22 职场文书
春风行动实施方案
2014/03/28 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
500字作文之周记
2019/12/13 职场文书