图示效果图:

直接贴代码:
def test3D(): import numpy as np data_array = np.zeros((3, 5, 6), dtype=np.int) data_array[1, 2, 2] = 1 print(data_array)
运行结果图:

分析: 有运行结果可知,创建了六个通道,在深度学习中这六个通道相当于六个Feature Map,对应结果图中的六列。

再向外看一层,共有三个块,每个块代表这个通道的第几行数据。

每个块里有五行数据,每一行代表每个通道的第几列数据

所以,代码中的赋值语句: data_array[1, 2, 2] = 1
表示为第2个通道,下标从0开始,所以在图中位置为第三列;第1行第2列,下标从0开始,所以图中表示第二个块的第三行;即为图中所示位置。
补充:三维数组的求和
多维数组的轴(axis=)是和该数组的size(或者shape)的元素是相对应的;
>>> np.random.seed(123) >>> X = np.random.randint(0, 5, [3, 2, 2]) >>> print(X) [[[5 2] [4 2]] [[1 3] [2 3]] [[1 1] [0 1]]] >>> X.sum(axis=0) array([[7, 6], [6, 6]]) >>> X.sum(axis=1) array([[9, 4], [3, 6], [1, 2]]) >>> X.sum(axis=2) array([[7, 6], [4, 5], [2, 1]])
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228168.html原文链接:https://javaforall.net
