首页 > 解决方案 > 1 个数组中的多个 2D numpy 数组

问题描述

我正在为一个基本的神经网络进行反向传播,对于每个示例,我必须计算新的权重。我将权重保存在一个名为 2D numpy 的数组中,weights如下所示:

 [[0.09719335 0.03077288 0.84256845 0.78993436]
 [0.87452232 0.9833483  0.803617   0.46675746]
 [0.77805488 0.11567956 0.63747511 0.14045771]]

对于新的权重,我需要一对神经元之间每个权重的平均值。我的想法是为我的训练集中的所有数据项计算它,然后计算平均值。为此,我想用 np.zeros 制作一个零数组,上面数组的大小乘以我的集合中的数据项数量。我试过这样

newWeights = np.zeros((2,(weights.shape)))

但这没有用。有没有办法像这样初始化一个数组,或者有另一种方法可以让我更容易地做到这一点(我想过 np.append 但无法弄清楚)

标签: pythonarraysnumpynumpy-ndarray

解决方案


weights.shape是一个元组,因此不能按原样包含它,因为维度必须是整数。您可以使用 * 解包元组:

newWeights = np.zeros((2, *weights.shape))

这本质上是解包weights.shape,因此它相当于 (2, x, y) 的尺寸。


推荐阅读