首页 > 解决方案 > 在 ndarray 中获取跨通道元素总和的优化方法

问题描述

我有一个 4D(68000, 96, 124, 4)张量,我想获得所有通道中元素的总和。下面是我正在使用的代码,它很慢。我想知道是否有优化的方法来完成这项工作。

下面是我正在使用的代码。

例子:

TrainData = np.random.rand(20,5,3,4)

SumChannels = []
for Element in range(0,TrainData.shape[0]):
    row = []
    for channel in range(0,4):
       row.append(TrainData[:,:,:,channel][Element].sum())
    SumChannels.append(row)

结果是 SumChannels,一个list长度为 20 的嵌套(来自示例),每个inner list长度为 4

PS:好吧,我不知道为什么上面的代码太慢了,但是当我重新启动机器时。输出是即时的

标签: pythonnumpy

解决方案


推荐阅读