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

什么是向量化?

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

相关推荐
Dxy12393102162 分钟前
深度学习的优雅降温:PyTorch中CosineAnnealingLR的终极指南
人工智能·pytorch·深度学习
NOVAnet20232 分钟前
AI智能体OpenClaw实战:终端安全风险分析与防护实践
网络·人工智能·安全·网络安全·南凌科技
Seven凹凸Man5 分钟前
WorkBuddy(Claw)原型设计之Axhub实战篇
人工智能
InfiSight智睿视界6 分钟前
执行型AI落地巡店场景:从流程自动化到管理闭环
大数据·人工智能·自动化
我就是全世界7 分钟前
TextPecker:强化学习破解中文文本渲染失真难题
大数据·人工智能·机器学习
ZBLHai7 分钟前
AI赋能投标:智标领航助力提升标书编制效率
人工智能
同元软控9 分钟前
Multi-Agent:从“大力出奇迹“到“分而治之“的系统工程
人工智能
研究点啥好呢11 分钟前
百度 人工智能工程师面试题精选
人工智能·pytorch·神经网络·百度·ai·面试·文心一言
草莓熊Lotso14 分钟前
手搓简易 Linux 进程池:从 0 到 1 实现基于管道的任务分发系统
linux·运维·服务器·数据库·c++·人工智能
十铭忘16 分钟前
SimpliHuMoN: 简化人类运动预测
人工智能·计算机视觉