您的位置 首页 > 德语词汇

axis是什么意思,如何理解axis

各位老铁们好,相信很多人对axis是什么意思都不是特别的了解,因此呢,今天就来为大家分享下关于axis是什么意思以及如何理解axis的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

不知道大家最开始接触到axis的时候是怎么样的,反正我是挺难理解的..我们可以发现TensorFlow的很多API都有axis这个参数,如果我们对axis不了解,压根不知道API是怎么搞的。

axis是什么意思,如何理解axis

如果你像我一样,发现API中有axis这个参数,但不知道是什么意思。可能就会搜搜axis到底代表的什么意思。于是可能会类似搜到下面的信息:

但我们又知道,我们的数组不单单只有二维的,还有三维、四维等等。一旦维数超过二维,就无法用简单的行和列来表示了

所以,可以用我下面的方式进行理解:

1.1二维数组之concat

首先,我们来看个concat的例子,concat第一个参数接收val,第二个参数接收的是axis

deflearn_concat():\n#二维数组\nt1=tf.constant([[1,2,3],[4,5,6]])\nt2=tf.constant([[7,8,9],[10,11,12]])\nwithtf.Session()assess:\n#二维数组针对axis为0和1的情况\nprint(sess.run(tf.concat([t1,t2],0)))\nprint(sess.run(tf.concat([t1,t2],1)))\n

ok,下面以图示的方式来说明。现在我们有两个数组,分别是t1和t2:

首先,我们先看axis=0的情况,也就是tf.concat([t1,t2],0)。从上面的描述,我们知道,先把第一个括号去除,然后将其子内容看成一个整体,在这个整体下进行想对应的运算(这里我们就是concat)。

[\n[123],\n[456],\n[789],\n[101112]\n]\n

接着,我们再看axis=1的情况,也就是tf.concat([t1,t2],1)。从上面的描述,我们知道,先把第二个括号去除,然后将其子内容看成一个整体,在这个整体下进行想对应的运算(这里我们就是concat)。

[\n[1,2,3,7,8,9]\n[4,5,6,10,11,12]\n]\n

1.2三维数组之concat

deflearn_concat():\n#三维数组\nt3=tf.constant([[[1,2],[2,3]],[[4,4],[5,3]]])\nt4=tf.constant([[[7,4],[8,4]],[[2,10],[15,11]]])\nwithtf.Session()assess:\n#三维数组针对axis为0和1和-1的情况\nprint(sess.run(tf.concat([t3,t4],0)))\nprint(sess.run(tf.concat([t3,t4],1)))\nprint(sess.run(tf.concat([t3,t4],-1)))\n

ok,下面也以图示的方式来说明。现在我们有两个数组,分别是t3和t4:

首先,我们先看axis=0的情况,也就是tf.concat([t3,t4],0)。从上面的描述,我们知道,先把第一个括号去除,然后将其子内容看成一个整体,在这个整体下进行想对应的运算(这里我们就是concat)。

[\n[\n[12]\n[23]\n]\n[\n[44]\n[53]\n]\n[\n[74]\n[84]\n]\n[\n[210]\n[1511]\n]\n]\n

接着,我们再看axis=1的情况,也就是tf.concat([t3,t4],1)。从上面的描述,我们知道,先把第二个括号去除,然后将其子内容看成一个整体,在这个整体下进行想对应的运算(这里我们就是concat)。

[\n[\n[12]\n[23]\n[74]\n[84]\n]\n[\n[44]\n[53]\n[210]\n[1511]\n]\n]\n

最后,我们来看一下axis=-1这种情况,在文档也有相关的介绍:

所以,对于我们三维的数组而言,那axis=-1实际上就是axis=2,下面我们再来看一下这种情况:

[\n[\n[1274]\n[2384]\n]\n[\n[44210]\n[531511]\n]\n]\n

除了concat以外,其实很多函数都用到了axis这个参数,再举个例子:

>>>item=np.array([[1,4,8],[2,3,5],[2,5,1],[1,10,7]])\n>>>item\narray([[1,4,8],\n[2,3,5],\n[2,5,1],\n[1,10,7]])\n>>>item.sum(axis=1)\narray([13,10,8,18])\n>>>item.sum(axis=0)\narray([6,22,21])\n

参考资料:

文章分享结束,axis是什么意思和如何理解axis的答案你都知道了吗?欢迎再次光临本站哦!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023