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

什么是向量化?

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

相关推荐
weixin_417197059 分钟前
OpenAI ChatGPT Images 2.0:AI生图进入“思考时代“
人工智能·chatgpt
AI精钢15 分钟前
Hermes Agent 整合 OpenCode CLI 的实战经验
人工智能·云原生·aigc
多年小白16 分钟前
AI 日报 - 2026年4月25日(周六)
网络·人工智能·科技·深度学习·ai
互联科技报16 分钟前
从形似到神离:解码超级编导、超级智剪、筷子科技的架构分野与云混剪2.0的范式革命
人工智能·线性代数·矩阵
唐兴通个人17 分钟前
国机集团央企出海样本:苏美达如何用AI重构TOB销售链路与全球品牌能见度,AI出海营销培训师专家
人工智能
周末也要写八哥18 分钟前
大语言模型的“自我迭代”
人工智能·语言模型·自然语言处理
生成论实验室23 分钟前
生命降U:从分子共鸣到觉知涌现
人工智能·科技·架构·生活·信息与通信
晓山清26 分钟前
CCF评级AI方向整理
人工智能·人机交互·aaai·普适计算
zhenxin012226 分钟前
GPU算力梯队:从入门到超算的AI任务匹配指南
人工智能·gpu算力
MediaTea27 分钟前
AI 术语通俗词典:F1 值(分类)
人工智能·算法·机器学习·分类·数据挖掘