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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
Python向MySQL批量插数据的实例讲解
Mar 31 Python
pycharm安装和首次使用教程
Aug 27 Python
Python Process多进程实现过程
Oct 22 Python
利用Python代码实现一键抠背景功能
Dec 29 Python
pytorch构建多模型实例
Jan 15 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
浅谈Python3中print函数的换行
Aug 05 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
python查询MySQL将数据写入Excel
Oct 29 Python
sublime3之内网安装python插件Anaconda的流程
Nov 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
php检测文件编码的方法示例
2014/04/25 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
PyQt5每天必学之事件与信号
2018/04/20 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
django admin 添加自定义链接方式
2020/03/11 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
个人自我鉴定
2013/11/07 职场文书
库房保管员岗位职责
2014/04/07 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
大专生求职信
2014/06/29 职场文书
认识实习感想
2015/08/10 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
总结Python变量的相关知识
2021/06/28 Python
理解python中装饰器的作用
2021/07/21 Python
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Nginx的基本概念和原理
2022/03/21 Servers