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

什么是向量化?

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

相关推荐
柠檬07116 分钟前
opencv 未知函数记录-detailEnhance
人工智能·opencv·计算机视觉
空山新雨后、8 分钟前
ComfyUI、Stable Diffusion 与 ControlNet解读
人工智能
Hcoco_me8 分钟前
大模型面试题42:从小白视角递进讲解大模型训练的重计算
人工智能·rnn·深度学习·lstm·transformer
喜欢吃豆12 分钟前
代理式 CI/CD 的崛起:Claude Code Action 深度技术分析报告
人工智能·ci/cd·架构·大模型
2301_7644413314 分钟前
基于HVNS算法和分类装载策略的仓储系统仿真平台
人工智能·算法·分类
aitoolhub14 分钟前
在线设计技术实践:稿定设计核心架构与能力拆解
图像处理·人工智能·计算机视觉·自然语言处理·架构·视觉传达
shayudiandian16 分钟前
AI生成内容(AIGC)在游戏与影视行业的落地案例
人工智能·游戏·aigc
木头左17 分钟前
深度学习驱动的指数期权定价与波动率建模技术实现
人工智能·深度学习
AI科技星18 分钟前
统一场论变化的引力场产生电磁场推导与物理诠释
服务器·人工智能·科技·线性代数·算法·重构·生活
不会用AI的老炮19 分钟前
【AI coding 智能体设计系列-05】上下文治理:清空压缩摘要与预算控制
人工智能·ai·ai编程