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处理中文编码和判断编码示例
Feb 26 Python
web.py获取上传文件名的正确方法
Aug 26 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
python机器学习之随机森林(七)
Mar 26 Python
python斐波那契数列的计算方法
Sep 27 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
Python中if有多个条件处理方法
Feb 26 Python
python 负数取模运算实例
Jun 03 Python
Python request post上传文件常见要点
Nov 20 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
基于Python实现将列表数据生成折线图
Mar 23 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 什么是PEAR?(第三篇)
2009/03/19 PHP
javascript some()函数用法详解
2014/11/13 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
JavaScript修改css样式style
2008/04/15 Javascript
JS的replace方法介绍
2012/10/20 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
Element Rate 评分的使用方法
2020/07/27 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
十个Python程序员易犯的错误
2015/12/15 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
视觉直观感受若干常用排序算法
2017/04/13 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
财务人员个人自荐信范文
2013/09/26 职场文书
学雷锋宣传标语
2014/06/25 职场文书
师德师风个人整改措施
2014/10/27 职场文书
鸟的天堂导游词
2015/01/31 职场文书
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle
Python实现Hash算法
2022/03/18 Python