python - 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 但无法弄清楚)
解决方案
weights.shape
是一个元组,因此不能按原样包含它,因为维度必须是整数。您可以使用 * 解包元组:
newWeights = np.zeros((2, *weights.shape))
这本质上是解包weights.shape
,因此它相当于 (2, x, y) 的尺寸。
推荐阅读
- node.js - 使用 Mocha 时出现超时错误
- r - Packages Crashing R after Using OpenBLAS
- sql - 按同一列上的多个值过滤
- stacked-chart - Bars moving out x-axis
- html - issue with CSS minus margin
- bash - While loop in bash executes only once
- android - Status bar height on s8+ in full screen mode
- postgresql - psql can not access Postgres running in a Docker container
- xml - Submitting multipart/related content type with XML using PHP curl
- core-data - Core Data Empty on App update