笔记-python中的广播

在神经网络算法中,我们经常会用到矩阵运算,也经常会遇到一些问题,比如因为矩阵的维度不同,一个2*3的矩阵就不能跟一个1*2的矩阵做四则运算,但是python的设计哲学讲究易用,所以在python的numpy包中,采用了一种称为广播的设计方法,可以减少使用者花费大量的时间去对数据做各种繁杂的维度变换。下面举几个在神经网络中经常用到的广播技巧:

1、矩阵内运算:

对于一个包含系统信息的m*n矩阵,我们要对其列或行求和,可以使用以下代码:

import numpy as np
A = np.array([[56.0, 0.0, 4.4, 68.0],
              [1.2, 104.0, 52.0, 8.0],             
              [1.8, 135.0, 99.0, 0.9]])
cal = A.sum(axis=0)  #axis=0:对列求和;axis=1:对行求和

要计算其中每个元素占总和的比例:

percentage = A/cal.reshape(1,4)

2、矩阵四则运算:

对于不同维度的矩阵做加四则运算,python会自动展开低维矩阵,使其跟高维矩阵同维,然后再做四则运算。

以上就是python中常见的广播技巧,还有很多其他的操作,具体可以查看numpy中关于矩阵部分的描述。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值