美文网首页金融基础技术与业务
python中的广播机制(broadcasting)

python中的广播机制(broadcasting)

作者: AryaHooper | 来源:发表于2018-02-01 17:14 被阅读0次

在python中使用numpy进行按位运算的时候,有一个小技巧可以帮助减少代码量——那就是broadcasting,广播机制。
简单来说,broadcasting可以这样理解:如果你有一个mn的矩阵,让它加减乘除一个1n的矩阵,它会被复制m次,成为一个mn的矩阵,然后再逐元素地进行加减乘除操作。同样地对m1的矩阵成立

image.png

举个栗子

A = numpy.array([1,2,3])
result = A + 100
print(result)

会得到结果

[101 102 103]

不需要你去写A + [100, 100, 100]了

同样地

A = np.array([[1,2,3],[4,5,6]])
result = A + [100, 200, 300]
print(result)

会得到

[[101 202 303]
 [104 205 306]]

broadcasting机制在深度学习函数构建中应用得很广,比如说我们在逻辑回归函数中,激活函数z = wT * X + b, b是一个数而前面的wT * X是一个1*n的矩阵,由于python这种机制,不需要我们为b构建向量,这就减轻了代码量。

相关文章

网友评论

    本文标题:python中的广播机制(broadcasting)

    本文链接:https://www.haomeiwen.com/subject/wvodzxtx.html