【搬运】近期在学习pytorch,会用到numpy的一些知识,今天遇到了stack的用法问题,C站大佬解释的很清楚,但是原文代码部分是白色字体,看起来不是很清楚,搬运过来看起来方便些~
------------------------------------------------------------------
以下是原文:
首先生成三个矩阵,
import numpy as np
a = np.arange(1, 7).reshape((2, 3))
b = np.arange(7, 13).reshape((2, 3))
c = np.arange(13, 19).reshape((2, 3))
print('a = \n', a)
print('b = \n', b)
print('c = \n', c)
即下面的形式:
下面分别以不同的形式输出:
1、vstack
s = np.vstack((a, b, c))
print('vstack \n ', s.shape, '\n', s)
在竖直方向上进行堆叠,得到6×3的矩阵
2、hstack
s = np.hstack((a, b, c))
print('hstack \n ', s.shape, '\n', s)
在水平方向上进行堆叠
3、axis=0
s = np.stack((a, b, c), axis=0)
print('axis = 0 \n ', s.shape, '\n', s)
就是下面的形式
具体为3组2×3矩阵
4、axis=1
s = np.stack((a, b, c), axis=1)
print('axis = 1 \n ', s.shape, '\n', s)
即将每个矩阵的每一行进行堆叠,放在一个矩阵里(一行对应一个矩阵)就是下图的红色的放一起,绿色的放一起
5、axis=2
s = np.stack((a, b, c), axis=2)
print('axis = 2 \n ', s.shape, '\n', s)
即将每行的进行竖排,放在一个矩阵里(一行对应一个矩阵)
因为对于stack用法容易忘记,查阅官方文档理解又比较繁琐,故做此一目了然
-------------------------------------------------------------------------------------------------------------
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.youkuaiyun.com/Riverhope/article/details/78922006