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

什么是向量化?

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

相关推荐
致Great1 小时前
Gemma 3 27B版本超越DeepSeek V3:技术要点分析!
人工智能·llm
音视频牛哥2 小时前
SmartMediakit在四足机器人和无人机巡检中的创新应用方案
人工智能·机器学习·计算机视觉
致Great2 小时前
推理大模型的后训练增强技术-强化学习篇
人工智能·llm
致Great2 小时前
关于DeepResearch设计实现的碎碎念
人工智能·llm
致Great2 小时前
推理大模型的后训练增强技术--LLM 推理模型的现状
人工智能·llm
致Great2 小时前
大语言模型对软件工程师的影响曲线
人工智能·llm
AI Echoes3 小时前
大语言模型(LLM)的微调与应用
人工智能·语言模型·自然语言处理
Python测试之道4 小时前
Camel AI Owl + 阿里云QWQ 本地部署
人工智能·阿里云·云计算
訾博ZiBo4 小时前
AI日报 - 2025年3月13日
人工智能