深度学习记录--初识向量化

什么是向量化?

之前计算logistic回归损失函数时,在代码实现时,讨论了for循环:过多的for循环会拖慢计算的速度(尤其当数据量很大时)

因此,为了加快计算,向量化是一种手段

运用pythonnumpy 库,我们可以使用库函数,这些函数一般可以并行计算(类似矩阵计算),加快计算的速度

向量化的作用

向量化能加快计算速度,能加快多少呢?

下面是一个例子:

要计算百万量级数组的相乘,运用numpy 里的**np.dot()**函数计算,大大加快计算速度(相较于for循环)

python 复制代码
import numpy as np
import time

a = np.random.rand(10000000)
b = np.random.rand(10000000)

tic = time.time()
c = np.dot(a,b)
toc = time.time()

print(c)
print("vectorized version: " + str(1000*(toc-tic)) + "ms")

c = 0
tic = time.time()
for i in range(10000000):
    c += a[i]*b[i]
toc = time.time()

print(c)
print("for loop: " + str(1000*(toc-tic)) + "ms")

运行结果如下:

可以看到,运用函数只需要5ms 不到就可以完成计算,而for循环需要2100ms才可以完成计算

向量化加快计算的原因

numpy里的np,dot函数实际运用了并行计算的方法

对于计算机的GPU (Graphics Processing Unit )和CPU (Central Processing Unit ),它们十分擅长并行计算,也就是说,运用向量化,可以充分发挥计算机的性能

相关推荐
爱笑的源码基地几秒前
智慧工地云平台源码,采用Java+SpringCloud+UniApp+MySql技术,支持多端展示,具备集团级多级权限管理。
人工智能·后端·spring·spring cloud·源码·智慧工地·工地智能管理
Aevget1 分钟前
DevExtreme JS & ASP.NET Core v25.2新功能预览 - 提升AI扩展功能
javascript·人工智能·ui·asp.net·界面控件·devextreme
乱世军军2 分钟前
AI 三大学习类型(监督/无监督/强化)的分类图
人工智能·学习
双翌视觉2 分钟前
机器视觉之眼:彩色相机的成像效果与预处理技术解析
人工智能·数码相机·机器学习
天地之于壹炁兮3 分钟前
微调模型:AI定制化的核心秘诀
人工智能
却道天凉_好个秋6 分钟前
OpenCV(三十六):多边形逼近与凸包
人工智能·opencv·计算机视觉
_Twink1e9 分钟前
【HCIA-AIV4.0】2025题库+解析(三)
人工智能·笔记·华为·开源
北堂飘霜12 分钟前
AI 求职工具评测:简小派 vs Jobscan、Teal 与国内同类
人工智能
糖果罐子♡16 分钟前
在 openEuler 上快速体验 PyTorch 深度学习
人工智能·pytorch·深度学习