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

什么是向量化?

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

相关推荐
hxxjxw20 小时前
Pytorch分布式训练/多卡训练(六) —— Expert Parallelism (MoE的特殊策略)
人工智能·pytorch·python
Robot侠20 小时前
视觉语言导航从入门到精通(一)
网络·人工智能·microsoft·llm·vln
掘金一周20 小时前
【用户行为监控】别只做工具人了!手把手带你写一个前端埋点统计 SDK | 掘金一周 12.18
前端·人工智能·后端
神州问学20 小时前
世界模型:AI的下一个里程碑
人工智能
zhaodiandiandian20 小时前
AI深耕产业腹地 新质生产力的实践路径与价值彰显
人工智能
古德new20 小时前
openFuyao AI大数据场景加速技术实践指南
大数据·人工智能
youcans_21 小时前
【医学影像 AI】FunBench:评估多模态大语言模型的眼底影像解读能力
论文阅读·人工智能·大语言模型·多模态·眼底图像
dagouaofei21 小时前
PPT AI生成实测报告:哪些工具值得长期使用?
人工智能·python·powerpoint
蓝桉~MLGT21 小时前
Ai-Agent学习历程—— Agent认知框架
人工智能·学习
视觉&物联智能21 小时前
【杂谈】-边缘计算竞赛:人工智能硬件缘何超越云端
人工智能·ai·chatgpt·aigc·边缘计算·agi·deepseek