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

什么是向量化?

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

相关推荐
XTIOT666几秒前
俄罗斯诚信标签Chestny ZNAK技术约束分析与智能化应对思路
大数据·人工智能·嵌入式硬件·物联网
朴马丁几秒前
流程PLM的智能化未来:AI与数字孪生如何赋能工艺优化与预测性运营
大数据·人工智能·ai·流程行业plm
Dfreedom.1 分钟前
目标检测演进之路:从手工设计到数据驱动
人工智能·目标检测·计算机视觉·cv
星纬智联技术4 分钟前
AI搜索引擎正在改变引用标准:品牌内容需要重建哪些内容判断体系
人工智能·aigc·搜索引擎优化
ゆづき5 分钟前
AI能否替代小说作家?
人工智能·笔记·学习·其他·生活
技术小甜甜5 分钟前
生产环境的“后悔药”:如何利用 Dify 版本控制与回滚机制建立 AI 应用的 CI/CD 闭环?
人工智能·ci/cd·版本控制·dify·ai应用·回滚
完成大叔5 分钟前
Agent的对话管理模式是什么?
人工智能
云烟成雨TD7 分钟前
Spring AI Alibaba 1.x 系列【61】Graph 持久化执行
java·人工智能·spring
星浩AI7 分钟前
(四)Hugging Face 与魔搭实战:模型下载、API 调用与本地推理
人工智能·深度学习·llm
大熊背7 分钟前
双目拼接竖缝消除(ISP 分区锐化实操方案) 优化方案
人工智能·算法·双目拼接