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

什么是向量化?

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

相关推荐
AI小怪兽1 分钟前
RoLID-11K:面向小目标检测的行车记录仪路边垃圾数据集
人工智能·目标检测·计算机视觉
拉普拉斯妖1086 分钟前
DAY41 简单CNN
人工智能·神经网络·cnn
_小苔藓_10 分钟前
混合Token与LoRA结合Qwen3-VL高效微调(代码开源)
深度学习·开源·大模型·微调·多模态
予枫的编程笔记25 分钟前
【Java进阶】掌握布隆过滤器,守住高并发系统的第一道防线
人工智能
过期的秋刀鱼!25 分钟前
机器学习-过拟合&欠拟合问题
人工智能·机器学习
万事可爱^28 分钟前
LangChain v1.0学习笔记(4)—— 核心组件Models
人工智能·笔记·学习·langchain·大模型
Frdbio32 分钟前
环腺苷酸(cAMP)ELISA检测试剂盒
linux·人工智能·python
dazzle33 分钟前
计算机视觉处理(OpenCV基础教学(二十二):霍夫变换技术详解)
人工智能·opencv·计算机视觉
狗狗学不会42 分钟前
RK3588 极致性能:使用 Pybind11 封装 MPP 实现 Python 端 8 路视频硬件解码
人工智能·python·音视频
Aevget42 分钟前
Kendo UI for jQuery 2025 Q4新版亮点 - AI 助手持续加持,主力开发更智能
人工智能·ui·jquery·界面控件·kendo ui