本篇从两个例子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)相关推荐

  1. 对python中axis的理解

    对 p y t h o n 中 a x i s 的 理 解 对python中axis的理解 对python中axis的理解 axis的实际含义是根据axis指定的维度进行连接,如矩阵m1的维度为(2, ...

  2. python变量的理解_如何理解Python中的变量

    在本篇文章里小编给大家分享的是关于Python中变量是什么意思的相关基础知识点,需要的朋友们可以学习下. 变量 在Python中,存储一个数据,需要定义一个变量 number1 = 1 #numbe1 ...

  3. python processpoolexecutor_理解Python的PoolExecutor

    Demo代码和引用知识点都参考自<理解Python并发编程一篇就够了|PoolExecutor篇>--董伟明或作者个人公众号Python之美, <Python Cookbook> ...

  4. 深入理解python特性_笔记《深入理解Python特性》PDF+编程技巧

    Python 技巧就是指一小段可以作为教学工具的代码,一个Python 技巧要么简要介绍了Python 的一个知识点,要么作为一个启发性的示例,让你自行深入挖掘,从而在大脑中形成直观的理解. 函数是P ...

  5. 对于矩阵操作中axis的理解,以及axis=-1的解释

    1. axis的基本使用 axis常常用在numpy和tensorflow中用到,作为对矩阵(张量)进行操作时需要指定的重要参数之一.设定axis=-1,0,1...,用来指定执行操作的数据如何划分. ...

  6. 完全理解 Python 迭代对象、迭代器、生成器(转)

    完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...

  7. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  8. 深入理解Python闭包概念

    闭包并不只是一个Python中的概念,在函数式编程语言中应用较为广泛.理解python中的闭包一方面是能够正确的使用闭包,另一方面可以好好体会和思考闭包的设计思想. 1.概念介绍 首先看一下维基上对闭 ...

  9. python中元组_理解python中的元组

    理解 python 中的元组 引言 在 Python 中元组是这样的: 元组是是这样一种数据结构:不变的或者不可改变的(简单来说不能重新赋值) .元素的有序序列.因为元组是 不变的,所以他的数值是不能 ...

  10. python中继承是什么意思_如何理解Python中的继承?python入门

    如何理解Python中的继承?如今,python编程语言深受企业和个人的喜爱.python开发工程师是近年来互联网行业非常热门的职业岗位之一.学习python的人除了零基础的,还有一部分是在职运维.在 ...

最新文章

  1. 数据库行转列的sql语句
  2. 关于移除节点的IE和Firefox的兼容问题
  3. SAP 报表程序的一些标准功能码
  4. 计算机应用技术自考知识点,自考计算机应用技术知识点:微处理器结构
  5. 防止UI界面被输入法遮挡(画面随输入法自适应)
  6. 如何使用Java 8函数式编程生成字母序列
  7. python发微信工资条_帮公司财务妹子写了个“群发工资条”的Python脚本!
  8. 同济保研计算机,同济大学保研率28%,保研高校前四:复旦、北大、交大、清华...
  9. 设置a标签下载文件的文件名
  10. C语言里程序编译无误但运行会弹出程序已停止运行是为什么?
  11. 关于Steam服务器登录的一些问题的解决方案
  12. 数据挖掘导论课后习题答案-第七章
  13. 存储,对比私有云和公有云的不同
  14. Recent Advances in Open Set Recognition A survey全文翻译精校
  15. 暗影精灵5风扇怎么调_惠普暗影精灵5内部结构是怎么样的 他的散热效果好不好呢...
  16. 计算机 工程领域的应用论文,计算机工程硕士论文
  17. STP生成树协议|适合初学|华为,思科配置|阿树啊~
  18. 15、2 使用vsftpd搭建ftp服务
  19. java全栈系列之JavaSE-面向对象(异常详解)043
  20. 都有哪些数据恢复软件是免费的?

热门文章

  1. win10电脑显示未连接网络连接到服务器,win10系统未识别网络无法连接到internet的解决方法...
  2. html骨架效果,html5 页面基本骨架
  3. Google Sketchup论坛
  4. Linux下限制带宽的方法
  5. 原神服务器不稳定,原神天空岛和世界树服务器哪个好
  6. 【内存】进程结束后程序员没有释放的内存哪儿去了?
  7. Win10设置每天定时运行某程序
  8. 接口测试——并行上传文件
  9. MFC中ShowWindow函数
  10. Unison 的相关参数介绍