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

什么是向量化?

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

相关推荐
光锥智能几秒前
他山科技亮相WRC 2026:“机器人幼儿园”驱动具身智能迈向“经验时代”
人工智能·科技·机器人
Raas1009 分钟前
AI网关能省多少钱?MAI Gateway (魔芋企业级AI网关)降本ROI实战案例
人工智能
jikemaoshiyanshi11 分钟前
自建大模型推理服务如何优化算力成本与资源效率?—— 基于智能路由、PD 分离、缓存、弹性调度的云上基建选型
人工智能
江畔柳前堤17 分钟前
LLM + Agent 模型效果评估:从入门到工业级体系构建的完整指南
开发语言·人工智能·自然语言处理·chatgpt·架构·json·batch
是上好佳佳佳呀18 分钟前
【深度学习|DAY05】卷积神经网络深度学习笔记
笔记·深度学习·cnn
Elastic 中国社区官方博客25 分钟前
跳过 mapping 爆炸:ES|QL 无需动态 mapping 即可查询无 schema JSON key
大数据·人工智能·sql·elasticsearch·搜索引擎·json·全文检索
欧特克_Glodon26 分钟前
OpenCV计算机视觉开发入门与实践<十四>:基础几何图形绘制
人工智能·opencv·计算机视觉
IT_陈寒27 分钟前
SpringBoot自动配置的坑,把我整不会了
前端·人工智能·后端
阿沐沐,27 分钟前
PowerShell 里改了 config.toml,Codex CLI 仍用旧值:先分清该改哪一层
java·服务器·数据库·人工智能·ai·ai编程
YOLO数据集集合29 分钟前
火情监测新方案:无人机红外-可见光多模态火点烟雾数据集(含YOLOv11实战)
人工智能·yolo·计算机外设·无人机·无人机数据集·可见光多模态