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的三目运算符和not in运算符使用示例
Mar 03 Python
Python库urllib与urllib2主要区别分析
Jul 13 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
Django forms组件的使用教程
Oct 08 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
python字符串的拼接方法总结
Nov 18 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
Python partial函数原理及用法解析
Dec 11 Python
常用python爬虫库介绍与简要说明
Jan 25 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
解析Tensorflow之MNIST的使用
Jun 30 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
计数器详细设计
2006/10/09 PHP
php header示例代码(推荐)
2010/09/08 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
jquery对表单操作2
2011/04/06 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
项目合作意向书范本
2014/04/01 职场文书
环保建议书600字
2014/05/14 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
教师业务学习材料
2014/12/16 职场文书
法制主题班会教案
2015/08/13 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
Linux安装Docker详细教程
2022/07/07 Servers