深度学习-基础(二)-numpy中的轴操作

news2024/11/13 16:15:46

背景

使用Pytorch进行学习,少不了跟numpy打交道,比如数据集中去除通道reduction只有做加法运算等,但是numpy轴操作,很少有人讲清楚,此处加以梳理。

轴的概念

轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸

如果是3维及以上的多维数组,先最外层,然后一层一层按照先横轴再纵轴的逻辑进行匹配轴。(实际2维只是多维的特殊情况,也是从最外层开始,一层层先横轴再纵轴 )
如下图所示:
在这里插入图片描述
上面的图只是一个方便理解的图示方法,展示了轴的概念,最后一个图例(2, 3,2, 4)第一个2表示最外层也就是轴0的元素有2个,每个元素的shape是(3, 2,4),依次 3表示轴1,从图中来看也就是左边的立方体有3个元素,每个元素的shape是(2,4),最后的(2,4)就是我们通常认识的二维数组,不再赘述

沿轴的操作

在这里插入图片描述

axis0 : 表示from up to down 竖切
axis1 :表示from left to right 横切

下面是一个示例:

先对ndarray中数组分隔和索引符号简单解释下:
用于分割维数或者成为轴,
: 用于维数中的元素索引,表示方法为 起始:结束:步长,只写一个,即取该维数上的所有

操作如下:

  • 先构造shpe为(2,3)的ndarray
b = np.arange(6).reshape(2,3)
print(b)
b的输出:
[[0 1 2]
 [3 4 5]]
  • 沿轴0方向操作
print(b.sum(axis=0))
print(b[0, :] + b[1 ,:])
输出:
[3 5 7]

注意看,此时 b.sum(axis=0)) 和 b[0, :] + b[1 ,:] 效果相同

  • 沿轴1的操作sum(axis = 1)
print(b.sum(axis=1))
print(b[:, 0] + b[:,1] + b[:, 2])

同样,此时b.sum(axis=1)和 b[:, 0] + b[:,1] + b[:, 2]的结果相同

通过轴的概念和示例,不难发现,对某个轴的操作(这是指类似sum类函数),实际上是一个降维操作:
针对0轴(N,C,H,W)的在第0轴上的操作—》输出shape是(C,H,W)
针对1轴(N,C,H,W)的在第0轴上的操作—》输出shape是(N,H,W)
也就是sum(axis = i)是如下:

  • axis=0,是a[0,:,:,:] + a[1,:,:,:]+…a[N-1,:,:,:]
  • axis=1,是a[:,0,:,:] + a[:,1,:,:] +…a[:,C-1,:,:]
    其他类似

这样的操作有什么用呢,比如在图像数据集处理的时候,N C H W依次表示图片数,通道数,高,宽
通过使用沿轴0的方向操作,可以去掉N这个维度,成为C H W,进行图像的识别处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Atlas500】华为500小站预配置

目录 基础配置解决配置能力项未开启问题 基础配置 1.网线连接盒子 2.1口IP:192.168.2.111 2口IP:192.168.3.111 3.登临网页https://192.168.2.111 输入用户名和密码(管理端用户)。 ● 默认用户名:admin ● 默认密码:H…

Eclipse安装插件及所有插件下载地址汇总

Eclipse安装插件及所有插件下载地址汇总 插件的意义安装插件各插件下载地址汇总kepler(Eclipse配置本地安装好的Tomcat时使用的插件)另一个插件名称 插件的意义 自认是为了解耦,使使用eclipse的人可以依据自己所需,有针对性的下载…

MySQL_第04章_运算符

第04章_运算符 讲师:尚硅谷 - 宋红康(江湖人称:康师傅) 官网: http://www.atguigu.com 1. 算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式…

Node第三方包 【mysql2】

文章目录 🌟前言🌟访问数据库🌟MySQL驱动🌟mysql2🌟安装 🌟方法🌟连接数据库🌟通过 query() 方法执行SQL语句🌟通过 execute() 方法执行SQL语句 🌟使用连接池…

研报精选230419

目录 【行业230419东吴证券】AACR2023本土药企临床进展:“秒懂”全球创新药系列研究之会议追踪 【行业230419浙商证券】大制造行业估值手册:周度数据跟踪 【行业230419东方财富证券】2023上海车展前瞻:自主争先,迎接智能电动新时代…

#Chrome扩展程序开发教程--03:Manifest

#Chrome扩展程序开发教程--03:Manifest 引言1、基本介绍2、必须属性3、重要属性3.1、permissions、host_permissions、optional_permissions、optional_host_permissions3.2、background3.3、content_scripts3.4、action3.5、options_page3.6、options_ui3.7、icons…

C++ Linux Web Server 面试基础篇-操作系统(四、线程通信)

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三…

TiDB实战篇-Data Migration (DM) 同步数据

目录 简介 原理 任务管理 ​编辑同步拓扑示例 使用场景 限制 硬件配置 安装&升级 部署 生成配置文件 生成配置文件模板 更具自身的机器修改 部署 启动集群&查看集群 实战 上游数据库前提 配置mysql的相关配置 编写DM的MySQL相关配置 把MySQL和DM …

【JavaEE】Bean的作用域和生命周期

目录 Bean的作用域 作用域分类 设置作用域 通过注解设置 通过配置文件设置 Bean的生命周期 Bean的作用域 Bean的作用域是指:在整个Spring容器中Bean的行为模式。这个模式有六种。 作用域分类 singleton:单例作用域。 在这个模式下,容器…

网络地址转换应用

如图所示,企业使用一台AR 路由器作为出口设备,路由器配置NAT Outbound为私网用户提供访问Internet服务,同时配置NAT Server将私网WEB服务器发布到公网上,对外网用户提供服务。运营商仅为该单位分配了一个公网IP,此地址既作为AR出接口的IP地址,也作为NAT Outbound和NAT Se…

【Atlas500】华为Atals MindStudio配置指南

目录 安装推理用ubuntu版docker配置docker内的ssh服务安装ubuntu系统中的依赖项:检查root用户的umask安装依赖项安装CANN连接到CANN Setting 安装推理用ubuntu版docker 华为的atlas500自带的欧拉系统是一个裁剪系统,一般通过在其上运行官方的ubuntu dock…

【消息队列】Kafka高水位和Leader Epoch原理

什么是高水位 首先高水位也就是HW,而对应的有LEO,其实这都是Kafka副本中针对位移的概念,其目的就是为了保证多副本间数据的一致性。 LEO (Log End Offet):每个副本的最后一个offset,LEO其实就是…

你猜我猜不猜 (猜数字游戏) 快来小玩一把叭

🤩本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C语言》专栏,笔者用重金(时间和精力)打造,将C语言知识一网打尽,希望可…

解决Vue热更新失效问题

解决Vue热更新失效 一、问题描述二、出现原因三、解决方案四、总结 🚀 欢迎访问我的个人博客:https://wk-blog.vip 一、问题描述 之前在本地测试Vue项目时,是可以热更新的,但是最近一段时间发现Vue的热更新失效了。然后通过vs co…

【大厂直通车】美团_测开面经

哈喽,大家好,我是小浪;那么最近暑假实习,日常实习是卷的飞起,无论是开发岗,测试岗,算法岗,都一片死寂;不过还是有很多大佬,成功绞杀很多大厂,offer也是拿到手软; 团子暑期实习offer: 📱本专栏致力于持续更新最新各大厂面经,实习消息,招聘要求; 那么目前价格…

ISCSI个人理解与简要说明

ISCSI个人理解与简要说明 一、如何理解ISCSI二、iscsi 命令iscsiadm(管理客户端)tgtadm(管理服务端) 三、ISCSI中的概念四、从DAS,NAS,SAN的角度扩展理解ISCSI 一、如何理解ISCSI 理解一个东西&#xff0c…

Niginx的rewrite

常用的Nginx正则表达式 ^匹配输入字符串的起始位置 $匹配输入字符串的结束位置 *匹配前面的字符零次或多次。如“ol*" 能匹配"o”及“ol”、“oll” 匹配前面的字符一次或多次。如“ol" 能匹配“ol"及“ol1”、“olll", 但不能匹配“o” ?…

服务器版本的表白墙

目录 1.步骤 2.提供两个接口: 3.流程 4.代码 1.前端代码 2.sql创建表 3.后端代码 MessageServlet.java DBUtil.java 1.步骤 1.约定前后端交互的接口 2.开发服务器代码 a.编写servlet处理前端发来的请求 b.编写数据库代码,存储获取关键的数据 3.开发客户端代码 a.基于…

java学习中遇到的问题及解答

你好,我想问一下,为什么在idea编译环境下,有异常的地方它会报错,让你主动添加抛出错误代码呢? 在Java中,有两种类型的异常,一种是受检异常(checked exception)&#xff0…

一级结构规范 合集

极限状态设计原则4.1限态4.11 极限状态可分为承载能力极限状态、正常使用极限状态和耐久性极限状态。极限状态应符合下列规定:1当结构或结构构件出现下列状态之一时,应认定为超过了承载能力极限状态;1) 结构构件或连接因超过材料强度而破坏,或因过度变形…