100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python广播机制是什么意思_python中的广播机制

python广播机制是什么意思_python中的广播机制

时间:2019-02-22 14:25:01

相关推荐

python广播机制是什么意思_python中的广播机制

一、上网查python的广播机制是在处理两个矩阵相减的时候,具体看下面的代码。

import numpy as np

b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

b_mean = np.mean(b, axis =0 )

print(b_mean)

b_std = np.std(b, axis = 0)

print(b_std)

normalize = (b - b_mean) / b_std

print(normalize)

输出结果:

b_mean is

[4. 5. 6.]

b_std is

[2.44948974 2.44948974 2.44948974]

normalize is

[[-1.22474487 -1.22474487 -1.22474487]

[ 0. 0. 0. ]

[ 1.22474487 1.22474487 1.22474487]]

通过以上代码可以看到,初始化的b是一个 3 * 3的矩阵。b的均值是一个 3 * 1的向量。最初我以为只有维数相同的张量才能做加减运算,后来一查是python的广播机制。

二、广播机制

先看代码

x = np.array([[1], [2], [3]])

print(x)

y = np.array([0, 1, 2])

print(y)

print("x - y = ", x - y)

输出结果

x is

[[1]

[2]

[3]]

y is

[0 1 2]

x - y is

[[ 1 0 -1]

[ 2 1 0]

[ 3 2 1]]

这里的x是 3 * 1的矩阵,y是 1 * 3的矩阵,在进行相减的时候将x变换成与y维数相同的矩阵x'(3 * 3)矩阵。

x' = [[1, 1, 1], [2, 2, 2], [3, 3, 3]]

然后y广播成3 * 3的矩阵y'。

y' = [[0, 1, 2], [0, 1, 2], [0, 1, 2]]

x' - y'得到就是相应结果。

三、参考文章Python 中矩阵或者数组相减的法则​numpy之矩阵相减_yangwang的博客-CSDN博客​

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。