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模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
python实现的DES加密算法和3DES加密算法实例
Jun 03 Python
Python多进程同步简单实现代码
Apr 27 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
python 文件转成16进制数组的实例
Jul 09 Python
Python可迭代对象操作示例
May 07 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
详解django中Template语言
Feb 22 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
2020版Python学习路线图(附学习资料)
Sep 15 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正则表达式(regar expression)
2011/09/10 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
javascript时间差插件分享
2016/07/18 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
Python实现多线程抓取妹子图
2015/08/08 Python
浅谈Python中函数的参数传递
2016/06/21 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
python语言基本语句用法总结
2019/06/11 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
python动态视频下载器的实现方法
2019/09/16 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
食品营养与检测应届生求职信
2013/11/08 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
linux目录管理方法介绍
2022/06/01 Servers
python读取mat文件生成h5文件的实现
2022/07/15 Python