【知识点】关于axis的理解(python)
本篇从两个例子argmax和sum两个函数来进行理解,是我的一个暂时性理解,不知道对不对,正确性有待验证。
axis可以理解为从哪个维度来计算:比如axis=0就表示从第零个维度开始计算。 (这里维度从0开始比较好理解)
如b[i][j]这里有2个维度,axis=0表示在i方向上进行变化,即b[0][j] b[1][j]。
输出的形状应该和b[0][j] 和b[1][j]中的任何一个一样,即1*3的一个张量。
二维:
b=torch.tensor([[1,2,3],[3,5,4]])
print(b.argmax(axis=0))
print(b.sum(axis=0))
首先b是一个二维张量,argmax返回的是最大值对应的下标索引(索引从零开始),sum返回求和结果。
argmax函数:对应的就是求每一列中的最大值的索引。
sum函数:对应的就是求每一列的元素的和。
这两者的答案都是按照b[i][j]中第0个维度(即维度i)的变化来进行计算的。
因为第0个维度在二维张量b中表示的是行,所以就是按照行来计算
所以当axis为1时就表示按第1个维度来进行计算,即按列:
b=torch.tensor([[1,2,3],[3,5,4]])
print(b.argmax(axis=1))
print(b.sum(axis=1))
三维:
b=torch.tensor([[[1,2,13,4],[14,5,6,7],[10,9,7,8]],[[4,3,12,1],[7,12,4,13],[13,4,7,15]]]
)
print(b.argmax(axis=0))
print(b.sum(axis=0))
对于b[i][j][k]中axis=0时,表示按照第一个维度进行计算,最后计算出来的形状应该是[j][k]的形状。因为b是一个2*3*4张量,所以计算出来答案是一个3*4的形状。
如果把这个2*3*4看做一个立方体,那么就是把第二层的3*4张量和第二层的3*4张量来进行运算。
即 1和4 2和3 13和12 4和1
......
argmax:1和4最大是4,索引为1;2和3最大是3,索引为1;13和12最大是13 ,索引为0;4和1最大是4,索引为0......
sum:1+4=5;2+3=5;13+12=25;4+1=5......
当axis=1:
b=torch.tensor([[[1,2,13,4],[14,5,6,7],[10,9,7,8]],[[4,3,12,1],[7,12,4,13],[13,4,7,15]]]
)
print(b.argmax(axis=1))
print(b.sum(axis=1))
axis=1就按照b[i][j][k]中的i来运算,输出形状为i*k即2*4。
参考:
https://www.cnblogs.com/touch-skyer/p/8509217.html
https://blog.csdn.net/sky_kkk/article/details/79725646
【知识点】关于axis的理解(python)相关推荐
- 对python中axis的理解
对 p y t h o n 中 a x i s 的 理 解 对python中axis的理解 对python中axis的理解 axis的实际含义是根据axis指定的维度进行连接,如矩阵m1的维度为(2, ...
- python变量的理解_如何理解Python中的变量
在本篇文章里小编给大家分享的是关于Python中变量是什么意思的相关基础知识点,需要的朋友们可以学习下. 变量 在Python中,存储一个数据,需要定义一个变量 number1 = 1 #numbe1 ...
- python processpoolexecutor_理解Python的PoolExecutor
Demo代码和引用知识点都参考自<理解Python并发编程一篇就够了|PoolExecutor篇>--董伟明或作者个人公众号Python之美, <Python Cookbook> ...
- 深入理解python特性_笔记《深入理解Python特性》PDF+编程技巧
Python 技巧就是指一小段可以作为教学工具的代码,一个Python 技巧要么简要介绍了Python 的一个知识点,要么作为一个启发性的示例,让你自行深入挖掘,从而在大脑中形成直观的理解. 函数是P ...
- 对于矩阵操作中axis的理解,以及axis=-1的解释
1. axis的基本使用 axis常常用在numpy和tensorflow中用到,作为对矩阵(张量)进行操作时需要指定的重要参数之一.设定axis=-1,0,1...,用来指定执行操作的数据如何划分. ...
- 完全理解 Python 迭代对象、迭代器、生成器(转)
完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...
- python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递
python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...
- 深入理解Python闭包概念
闭包并不只是一个Python中的概念,在函数式编程语言中应用较为广泛.理解python中的闭包一方面是能够正确的使用闭包,另一方面可以好好体会和思考闭包的设计思想. 1.概念介绍 首先看一下维基上对闭 ...
- python中元组_理解python中的元组
理解 python 中的元组 引言 在 Python 中元组是这样的: 元组是是这样一种数据结构:不变的或者不可改变的(简单来说不能重新赋值) .元素的有序序列.因为元组是 不变的,所以他的数值是不能 ...
- python中继承是什么意思_如何理解Python中的继承?python入门
如何理解Python中的继承?如今,python编程语言深受企业和个人的喜爱.python开发工程师是近年来互联网行业非常热门的职业岗位之一.学习python的人除了零基础的,还有一部分是在职运维.在 ...
最新文章
- 数据库行转列的sql语句
- 关于移除节点的IE和Firefox的兼容问题
- SAP 报表程序的一些标准功能码
- 计算机应用技术自考知识点,自考计算机应用技术知识点:微处理器结构
- 防止UI界面被输入法遮挡(画面随输入法自适应)
- 如何使用Java 8函数式编程生成字母序列
- python发微信工资条_帮公司财务妹子写了个“群发工资条”的Python脚本!
- 同济保研计算机,同济大学保研率28%,保研高校前四:复旦、北大、交大、清华...
- 设置a标签下载文件的文件名
- C语言里程序编译无误但运行会弹出程序已停止运行是为什么?
- 关于Steam服务器登录的一些问题的解决方案
- 数据挖掘导论课后习题答案-第七章
- 存储,对比私有云和公有云的不同
- Recent Advances in Open Set Recognition A survey全文翻译精校
- 暗影精灵5风扇怎么调_惠普暗影精灵5内部结构是怎么样的 他的散热效果好不好呢...
- 计算机 工程领域的应用论文,计算机工程硕士论文
- STP生成树协议|适合初学|华为,思科配置|阿树啊~
- 15、2 使用vsftpd搭建ftp服务
- java全栈系列之JavaSE-面向对象(异常详解)043
- 都有哪些数据恢复软件是免费的?