图解tensorflow,numpy中axis参数的理解

本文介绍了在TensorFlow和NumPy中,如何理解并使用axis参数对多维数组进行操作。通过三维和四维数组的例子,详细阐述了axis在不同维度上的指向,以及它在降维过程中的作用。
摘要由CSDN通过智能技术生成

1. 引言

在利用tensorflow或者numpy对向量/数组(下文统称向量)进行操作时,开发者可以通过设置axis参数来对向量中特定的维度进行操作。因此,理解axis究竟指向哪一个维度就变成了一个重要的问题。本文将结合相应例子,简明扼要地对axis的指向进行介绍。本文重点在于解释axis指向性,下文将统一使用numpy.sum()作为例子进行讲解。

2. 什么是维度?

在日常应用中,维度一般存在两种解释。第一种解释即大家熟悉的坐标数目,例如,[1,3,4]是一维的,这是一条直线。[[1,2],[3,4]]是一个方阵,是二维的。第二种解释认为维度即特征数目。例如,形容用身高,体重,收入三个特征可以具体描述一个人,用这三个特征形成的向量:[身高,体重,收入]是一个三维向量。这两种解释读者应该加以区别。axis对应第一种解释,即针对坐标数目来指定维度的。

3. axis的指向

3.1 对维度的一些理解

高维向量其实就是一个把低维向量作为元素的向量。例如:[[1,2],[2,3]]是一个二维向量,这其实是把一维向量([1,2],[2,3])作为元素的向量。三维数组[ [[1,2], [3,4]], [[5,6], [7,8]] ]就是把二维向量([[1,2], [3,4]]和[[5,6], [7,8]])作为元素的向量。这样一点理解至关重要。3.2小节将用三位向量为例,说明axis的指向,3.3小节将尝试对四维数组进行axis的指向说明。

3.2 以三维数组为例

三维向量,可以用三维笛卡尔坐标系进行描述。现在有一个形状为2* 3 * 4的三维的向量:

[[[ 1   2   3   4]
  [ 5   6   7   8]
  [ 9   10 11 12]],
 [[ 13  14 15 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值