Numpy ndarray 矢量化计算效率远超For-Loop

Numpy ndarray 矢量化和广播计算效率,相比Python list类型,大约高200倍,见下图:矢量化 vs list
矢量化主要是跟显式的循环和索引做对比,矢量化计算,不需要显式的循环和索引。其好处有:

  • 矢量化代码更简洁,更易于阅读
  • 更少的代码行通常意味着更少的错误
  • 代码更接近于标准的数学公式
  • 矢量化导致产生更多 “Pythonic” 代码。

如果没有矢量化,我们的代码就会被低效且难以阅读的for循环所困扰。矢量化的思维是N个独立样本,在实现上不需要for训练,直接并行计算,例如,N个独立样本,每个样本X有100个特征点,通过一个神经元,执行 y = X*W计算,所有样本计算完一遍的实现方式:矢量化 vs for-loop,如下所示,效率相差8倍矢量化 vs for-loop
进阶学习:《基于Keras CNN与Fashion_MNIST数据集开发一个深度学习程序》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值