【Python】[…,0,0]和[:,0,0]是什么意思呢

3 篇文章 0 订阅
订阅专栏

在看pytorch代码时经常会看见[…,0,0][:,0,0]两种形式,但是他们代表什么呢?

下面举个例子来讲:

image-20220428105428486

随机生成shape为[2,3,2,2]的数组,姑且看成2个batch,每个batch有3个通道,每个通道大小2*2。

1、[:]的含义

例1:

image-20220428110603164

输出是原数组:

第一个结果:所有batch中,第0个通道中所有元素。

image-20220428110726378

第二个结果:所有batch中,第0个通道,第1行的所有元素。

image-20220428111110923

例2:

image-20220428112041792

第一个结果:第0个batch中,所有通道的所有元素。

image-20220428111924542

第二个结果:第0个batch中,所有通道中,第1行的所有元素。

image-20220428112145777

**结论:**结合例1和例2可以看出来,:可以代表的是某一个、单个维度所有的元素,查找元素与数组访问一致,从前往后查,后面无参数默认所有元素。


2、[...]的含义

例3:

image-20220428112926730

输出是原数组:

第一个结果:所有batch中,所有通道中,所有行中,第0列的元素,同一通道中的元素组成一行。

image-20220428112753105

第一个结果:所有batch中,所有通道中,所有行中,第1列的元素,同一通道中的元素组成一行。

image-20220428113122033

例4:

image-20220428113241411

输出是原数组:

第一个结果:所有batch中,所有通道中,第0行,第1列的元素。image-20220428113341831

第二个结果:所有batch中,所有通道中,第1行,第1列的元素。

image-20220428113452695

例5:
image-20220428113755640
输出是原数组:
image-20220428134349061
**结论:**结合例3、4、5可以看出来,...可以代表多个、不同维度的元素,查找元素顺序可以看作从后向前找。


3、[...][:]等价关系

如果没有太明白没关系,看下面这个例子更为直观:

例6:

image-20220428140852082

可以看出来...:是可以相互等价的:

上图第一个为例,[...,0][:,:,:,0],一个...可以代表三个:,同理,第二个[...,0,0][:,:,0,0],一个...可以代表两个:,所以说[...]代表了前面所有纬度的数据,而[:]只是代表一个纬度的数据。

另外,在另一个博主的博客中提到:

the x[…] = … modifies x in-place;

It’s like x[:] = … but works with arrays of any dimension (including 0d). In this context x isn’t just a number, it’s an array.

Slicing: Important use of Ellipsis (…) is in slicing higher-dimensional data structures.

在引用高维数组时,使用[...][:]引用更方便,确实如此。

4、Tips

Tip 1:

[...]只能在使用引用的时候出现一次,以下都是不可行的:

在这里是创建了一个高维数组:a = np.random.rand(3,3,3,3,3,3)

image-20220428142907032

可以看到报错信息是IndexError: an index can only have a single ellipsis ('...'),意思是你只能有一个省略号。

Tip 2:

当然[...][:]是可以混合使用的,没有先后顺序:

image-20220428143300640


5、总结

简单来讲:

一个[:]单纯的代表一个维度,在使用低维数组的时候使用比较灵活,查找元素从前向后;

一个[...]代表多个维度,多个维度指的是连续的维度,在使用高维数组的时候比较灵活,查找元素从后向前;

一个[...]相当于连续的多个[:]使用,但是一个[...]只能在一次引用当中使用一次;

[...]可以与多个[:]在引用中混合使用;


参考博客:

多个维度指的是连续的维度,在使用高维数组的时候比较灵活,查找元素从后向前;

一个[...]相当于连续的多个[:]使用,但是一个[...]只能在一次引用当中使用一次;

[...]可以与多个[:]在引用中混合使用;


参考博客:

python numpy 里面的[:, None]是个什么鬼?[…, None]呢?

Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
09-17
主要介绍了Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n],文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Python切片操作:[:,0]或[:-1]
SmartDemo的博客
04-09 1万+
一、一维数组 import torch a = torch.tensor([1,2,3,4]) #out:tensor([1, 2, 3, 4]) b = a.numpy() print(b) #out:[1 2 3 4] 1、一个参数 print(b[-1]) #out:4 2、两个参数 【说明】b[i:j] #表示复制b[i]到b[j-1],以生...
python中的取值[:]和[::]
qq_40317001的博客
05-16 3946
(1)python的[:] [m:n] 是python的切片(分片),取列表中从m开始到n-1的值,即[m,n),左闭右开的取值原则; 注:列表索引从左往右是从0开始,0,1,2,3,而右往左是从-1开始,-1,-2,-3 如下样例: a = '123456789' print(a[:]) # 得123456789 print(a[:3]) # 默认从0开始,取[0,3)得123 print(a[-3:-1]) # 取[-3:-1)得78 注:m < n,负数的时候要小心!!!若m
python中几种括号的用法()、[]、{} 举例说明
热门推荐
Alex的博客
03-08 10万+
Python语言中最常见的括号有三种,分别是:小括号()、中括号[]、花括号{};其作用也不相同,分别用来代表不同的Python基本内置数据类型。因博主是java出身,所以会举一些Java的类比。python不像java需要在定义的时候强制定义类型,所以括号就是几种基本数据类型。 Python中的小括号():tuple 代表tuple元组数据类型,元祖是一种不可变序列。创建方法很简单,大多数时候都是小括号括起来的。这个类似java中的数组,定义后内容不可变 Python中的中括号[]:list
Python中[-1]、[-1]、[-1]、[n-1]、[,,0]、[…,0]、[…,-1] 的理解
m0_54850825的博客
06-12 9656
python中会出现[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1],他们分别是什么意思呢,这里就来详尽的说一下:下面的a = [1,2,3,4,5][-1]: 列表最后一项 [:-1]: 从第一项到最后一项 原型是[n : m],前闭后开,索引从零开始,第一个索引指定可以取到,即n可以取到,后一个索引不可取到,即m不可取到。 [::-1]: 代表从全列表倒序取 原型是[n : m : k],代表的是从那一段开始取,隔几个取一次。 其中,n代表的是取值开
Python进制转换详细介绍
Wonderful
04-22 8万+
Python为我们提供了强大的内置函数和格式化数字的方法去实现进制转换的功能,下面一一介绍。 先将所有的函数罗列出来,如下: ↓ 2进制 8进制 10进制 16进制 2进...
python中axis=0和axis=1的问题记录
01-20
之前一直搞不清axis = 0 和 axis = 1 之间的区别,一会是按行求和,一会是按列遍历,那到底axis是咋操作的呢?查找了些资料,发现了一种很好的解释就是: 0轴垂直往下,1轴向右水平延伸。 啥意思?? 尝试一下好了 ...
Python库 | PyDNET-0.94.post0.tar.gz
04-13
资源分类:Python库 所属语言:Python 资源全名:PyDNET-0.94.post0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Python中%是什么意思python中百分号如何使用?
09-20
Python中,`%`是一个非常重要的运算符,它有两种主要的用途:数值运算中的求模(取余数)和字符串操作中的字符串格式化。 1. **数值运算**: `%` 运算符用于执行模运算,即求两个数值相除后的余数。例如,`7 % ...
python_course:大学
02-19
python_course 出去: Laboratory 2 task 1 -0.5714285714285714 0.01831563888873418 -0.5 task 2 Old value: 0 1 2 Value: 1 2 0 Laboratory 3 task 1 5.0 0.125 6.25 -0.4276396292228334...
python中[:],[:,],[::]分别代表什么意思
weixin_48780159的博客
07-23 5万+
关于 [:j] 或者 [:i]:这是切片操作,在下标 i 或者 j 之前的元素都保留 关于[:,j] 或者 [:,i] :这也是切片操作,不同的是:保留第一个维度所有元素,第二维度元素保留到j;只适用numpy的科学数据结构 关于[::]操作(高阶用法,可看可不看,一般出现在矩阵数据替换运算,例如NLP里的位置编码)。在list中可以用在元素层面,在numpy的数学数据中可以用在任何层面。 使用方法[start: end : step ],也就是[ 起始下标 : 终止下标 : 间隔距离 ] 切片范围是:.
Python零基础入门(三)——基本输入与输出
最新发布
一名机电研究生的博客
06-20 1万+
Python 作为一种高级编程语言,为程序员提供了很多方便的工具和函数。其中最基本的就是输入输出函数。本文介绍了 Python 中常用的输入输出函数及其用法。
python代码中[:] 和 [::] 的区别
liguiyuan的博客
06-15 2952
需要注意的是,在 Python 中,[::] 也可以用于表示一个类的成员函数或成员变量,这时它的含义与上述含义不同。
Python中[:1]和[0]的区别
行动派
04-09 1万+
相信大家在刚刚接触到Python中切片的学习时会遇到这样的问题,[:1]和[0]明明都是表示第一个索引的元素,为什么[:1]是正确的,换为[0]却会报错。 原因是有的序列可能是空序列,这时候用[:1]取第一个元素是空,不会报错,而用[0]取则会报错。 ...
Python列表[:]
weixin_36670529的博客
04-27 439
承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。
Matlab中fminunc函数的意义 以及options函数的初级用法。
gzp444280620的博客
10-20 7万+
本文问题出自Stanford大学 Andrew Ng 老师的机器学习week 3  Logistic Regression Model  中出现如下高级函数: 该过程涉及matlab两个函数 fminunc 和options; 要清楚的了解这两个算法如何使用,我们需要知道自定义函数的使用方法,以图上的自定义函数function [jVal,gradient] = costFunction(t
Python-切片 [..., 0]
越努力,越幸运
10-30 3456
python切片操作中,...用于代替多个维度的: prediction[:, :, ] = prediction[..., 0] prediction = ( x.view(num_samples, self.num_anchors, self.num_classes + 5, grid_size, grid_size) .perm...
Python--X[:,0],X[:,1],X[:,3]的区别
qwer492915298的博客
03-19 1万+
X[:,0]是numpy中数组的一种写法,主要用于获取数组中的元素 X[:,0]---第一位元素数组 X[:,1]---第二位元素的数组 X[:,2]----第三位元素数组 代码 import numpy as np X = np.array([[2,1,1],[4,3,2],[6,5,3],[1,7,4],[7,9,5],[12,11,6],[16,13,7],[17,15,8],...
python:0是什么意思
05-11
Python 中,数字 0 表示整数零,即数值上等于零的整数。它通常用于表示计数器的初始值,或者作为条件表达式的一部分。例如,以下代码将打印数字 0: ``` x = 0 print(x) ``` 或者,以下代码将在数字 0 不断循环,直到用户输入非零数字为止: ``` while True: x = int(input("请输入一个数字:")) if x == 0: print("输入了零") break else: print("输入了非零数字") ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

分类专栏

  • Python 3篇
  • ROS 9篇
  • YOLOv5 2篇
  • Pytorch学习笔记 6篇
  • 深度学习 3篇
  • Markdown 4篇
  • 其他 3篇
  • Pyqt 1篇
  • Opencv 1篇

最新评论

  • 彻底搞懂交叉熵、信息熵、相对熵、KL散度、交叉熵损失函数

    Cai_CS_stu: 谢谢!讲的很清楚

  • YOLOv5 + Win10 训练DJI官方机器人数据集【1】YOLOv5环境搭建

    Forstwolf: 求更新

  • 【ROS】VSCODE + ROS 配置方法(保姆级教程,总结了多篇)

    woaixuexiiiii: 请问按步骤执行#include "ros/ros.h"还是会报错怎么办呢

  • 【ROS】VSCODE + ROS 配置方法(保姆级教程,总结了多篇)

    一只游荡的小幽魂: tasks.json 里面加上下面的,就可以把生成物放在devel目录下了 [code=plain] "args": [ "--cmake-args", "-DCMAKE_PREFIX_PATH=/opt/ros/noetic" ], [/code]

  • 【YOLOX】用YOLOv5框架YOLOX

    m0_69394712: 这个没有预训练权重

大家在看

  • 大语言模型应用指南:自主Agent系统
  • AI人工智能代理工作流AI Agent WorkFlow:仿真环境中AI代理的实验与评估

最新文章

  • 【YOLOX】用YOLOv5框架YOLOX
  • 【Pytorch】修改网络后加载预训练权重
  • 【Pytorch】netron可视化——靠谱的使用方法
2023年1篇
2022年20篇
2021年7篇
2018年1篇

目录

目录

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源中间恩字起名医美公司起名用字大全上海池上便当西伯利亚理发师网上起名靠谱吗一骑当千2成都一对夫妻确诊官方部署抗疫比格犬好养吗1kg等于多少g柴姓女孩起名2020年免费起名网央行数字货币app下载起名的日语翡翠台在线直播2009年男孩起名大全海尔总裁怎样压缩文件外国四大吝啬鬼唐诗 宋词 取名起名大全五行缺火男孩起名字单字属火的字女孩起名chinamp3我们这拨人跃字起名米拉杰神器任务朱门绣户红烧肉宋代足球小子海事局待遇想起个微商团队名字大全淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化