Python中的广播机制

Python中的广播机制

广播机制

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

例子

1.输入:

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

得到结果:

[101 102 103]

2.输入:

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

输出:

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

3.输入:

a = np.random.randn(3, 3)
b = np.random.randn(3, 1)
c = a * b
print(c.shape)

输出:
b会被复制三次,就会变成(3,3),再使用元素乘法。所以: c.shape = (3, 3).

总结

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

参考链接

https://www.jianshu.com/p/fadd169cd396

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值