gpt4 book ai didi

python - Numpy 广播

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:13 32 4
gpt4 key购买 nike

当我在 Numpy 中进行此操作时会发生什么?

a = np.ones([500,1])
b = np.ones([5000,])/2
c = a + b

# a.shape (500,1)
# b.shape (5000, )
# c.shape (500, 5000)

我很难弄清楚这个广播中到底发生了什么。

最佳答案

Numpy 假设一维数组为行向量,因此求和确实在形状 (500, 1) 和 (1, 5000) 之间,这导致了矩阵求和。

由于这不是很清楚,您应该明确扩展您的维度:

>>> np.arange(5)[:, None] + np.arange(8)[None, :]
array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 1, 2, 3, 4, 5, 6, 7, 8],
[ 2, 3, 4, 5, 6, 7, 8, 9],
[ 3, 4, 5, 6, 7, 8, 9, 10],
[ 4, 5, 6, 7, 8, 9, 10, 11]])

关于python - Numpy 广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42304313/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com