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实现截屏的函数
Jul 25 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
深入理解Python中range和xrange的区别
Nov 26 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
Aug 07 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
Python文件操作函数用法实例详解
Dec 24 Python
Python tkinter常用操作代码实例
Jan 03 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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
编写PHP的安全策略
2006/10/09 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
PHP类的反射用法实例
2014/11/03 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
vue cli 全面解析
2018/02/28 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Django框架验证码用法实例分析
2019/05/10 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
Django的性能优化实现解析
2019/07/30 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
掌上明珠Java程序员面试总结
2016/02/23 面试题
大学毕业典礼演讲稿
2014/09/09 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
学生保证书
2015/01/16 职场文书
2015年电教工作总结
2015/05/26 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
我是特种兵观后感
2015/06/11 职场文书
导游词之杭州西湖
2019/09/19 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python