kma*_*o23 3 python numpy computer-vision multidimensional-array deep-learning
假设我有一个形状的特征图(即 3D 数组) (32, 32, 96)
In [573]: feature_map = np.random.randint(low=0, high=255, size=(32, 32, 96))
Run Code Online (Sandbox Code Playgroud)
现在,我想单独可视化每个特征图。所以,我想提取每个正面切片(即 shape 的二维数组(32, 32)),以便应该给出 96 个这样的特征图。
如何获取这些数组,可能不是作为内存高效的副本?由于这只是为了可视化,一个视图就足够了!
您可以使用np.transpose和切片操作(不创建数组的副本):
feature_map = np.random.randint(low=0, high=255, size=(32, 32, 96))
feature_map = np.transpose(feature_map, axes=[2, 0, 1])
for i in range(feature_map.shape[0]):
print(feature_map[i].shape) # a view of original array. shape=(32, 32)
Run Code Online (Sandbox Code Playgroud)
...或者只是切片:
for i in range(feature_map.shape[2]):
print(feature_map[:, :, i].shape) # a view of original array. shape=(32, 32)
Run Code Online (Sandbox Code Playgroud)