深度学习笔记二——Python中的broadcasting

##########梯度下降法向量化实现的尝试
import numpy as np
m = 7
dz = np.array([1,2,23,45,6,78,9])
db = np.sum(dz)/m
print(db)
输出结果:
23.428571428571427
########2.15 Broadcasting in Python
#卡路里计算
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]])
print(A)#A是一个3*4矩阵
输出结果:
[[ 56.    0.    4.4  68. ]
 [  1.2 104.   52.    8. ]
 [  1.8 135.   99.    0.9]]
 
cal= A.sum(axis=0)#计算每列的和,axis=0表示竖直相加,axis=1表示水平相加
print(cal)
输出:
[ 59.  239.  155.4  76.9]

percentage = 100*A/cal.reshape(1,4)#用A除以一个1*4矩阵
#上节运行结果已经说明cal是一个1*4矩阵,技术上reshape可不用,但不确定矩阵尺寸时,用reshape可得到自己想要的形式
#此处用一个3*4矩阵除一个1*4矩阵用的就是Python中的broadcasting,它将1*4矩阵竖直复制了3次,成为一个3*4矩阵
print(percentage)
输出:
[[94.91525424  0.          2.83140283 88.42652796]
 [ 2.03389831 43.51464435 33.46203346 10.40312094]
 [ 3.05084746 56.48535565 63.70656371  1.17035111]]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值