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

什么是向量化?

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

相关推荐
Damon小智5 分钟前
【TextIn大模型加速器 + 火山引擎】跨国药企多语言手册智能翻译系统设计与实现
人工智能·ai·ocr·agent·火山引擎
2501_936146046 分钟前
YOLOv26鱼类目标检测与计数任务实现与优化
人工智能·yolo·目标检测
老吴学AI8 分钟前
范式转移:生成式AI如何重新定义“智能应用
人工智能·aigc·agent
540_54012 分钟前
ADVANCE Day33
人工智能·python·机器学习
水龙吟啸17 分钟前
基于Orbbec-Gemini深度相机与SFM-2D to 3D重建算法、手部识别视觉算法、Unity运动控制的3D水果切割游戏
python·深度学习·神经网络·c#·游戏引擎·3d视觉·3d重建
8K超高清29 分钟前
风机叶片运维:隐藏于绿色能源背后的挑战
网络·人工智能·科技·5g·智能硬件
白日做梦Q1 小时前
数据增强策略:不仅仅是旋转和翻转
人工智能·深度学习
reddingtons1 小时前
【品牌包装】告别“贴图怪”!Firefly + Illustrator Mockup,0 建模一键“真”样机
人工智能·aigc·illustrator·传媒·设计师·贴图·样机
大模型任我行1 小时前
Meta:LLM无监督提升科研能力
人工智能·语言模型·自然语言处理·论文笔记
重生之我要成为代码大佬1 小时前
深度学习1-安装pytorch(无独立显卡版本)
人工智能·pytorch·深度学习·机器学习