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

什么是向量化?

之前计算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 ),它们十分擅长并行计算,也就是说,运用向量化,可以充分发挥计算机的性能

相关推荐
2501_948120152 分钟前
边缘计算在智慧课堂中的实时互动应用
人工智能·实时互动·边缘计算
雷焰财经4 分钟前
持续推进国际金融合作:宇信科技的东南亚布局与价值共创之路
大数据·人工智能·科技
高锰酸钾_5 分钟前
机器学习-决策树
人工智能·决策树·机器学习
陈天伟教授5 分钟前
人工智能应用-机器听觉: 05.基于模式匹配的语音识别
人工智能·语音识别
baiduopenmap6 分钟前
百度地图 x 莫界亮相百度世界大会 解锁 AI+AR 出行新体验
人工智能·百度
HZjiangzi7 分钟前
手机外壳平面度与翘曲度光学检测:思看科技SIMSCAN-E精细模式解决方案
人工智能·科技·3d·制造
qunaa010111 分钟前
YOLOv26改进:挖掘机铲斗状态识别模型优化与应用
人工智能·yolo·目标跟踪
格林威11 分钟前
Baumer相机金属表面油污检测:提升清洗工序监控能力的 7 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·计算机视觉·视觉检测·工业相机·堡盟相机
麦兜*12 分钟前
深入剖析新一代AI Native技术栈:从向量数据库与LangChain应用架构到多模态大模型微调与智能体工作流的全链路实战
数据库·人工智能·langchain
ECT-OS-JiuHuaShan15 分钟前
弦论:高度创造性但因果链断裂、数学自洽但递归不健康
人工智能·程序人生·数学建模·抽象代数·拓扑学