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数据集开发一个深度学习程序》

发布了13 篇原创文章 · 获赞 0 · 访问量 254

猜你喜欢

转载自blog.csdn.net/qq_41802192/article/details/105658005
今日推荐