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

什么是向量化?

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

相关推荐
MaoziShan10 分钟前
CMU Subword Modeling | 07 Allomorphy
人工智能·机器学习·语言模型·自然语言处理
诚思报告YH26 分钟前
生物制剂与生物类似药市场洞察:2026-2032年复合增长率(CAGR)为8.1%
大数据·人工智能·microsoft
得一录28 分钟前
AI面试·高难度题
人工智能·面试·职场和发展
眼镜哥(with glasses)33 分钟前
Steel Division 2(钢铁之师 2)第一次MOD 制作步骤
人工智能
向量引擎小橙39 分钟前
视觉艺术的“奇点”:深度拆解 Gemini-3-Pro-Image-Preview 绘画模型,看这只“香蕉”如何重塑 AI 创作逻辑!
人工智能·python·gpt·深度学习·llama
AI周红伟40 分钟前
周红伟:数字人智能体构建实操,《数字人智能体部署应用:数字人大模型和智能体+Skills+RAG+Agent+Claude Code的部署应用案例实操》
人工智能
KG_LLM图谱增强大模型1 小时前
人工智能本体论:大模型辅助构建AI概念层级体系
人工智能
Web3VentureView1 小时前
X Space AMA回顾|预测熊市底部:当市场寻找价格,SYNBO正在构建未来
人工智能·物联网·金融·web3·区块链
SmartBrain2 小时前
Python 特性(第一部分):知识点讲解(含示例)
开发语言·人工智能·python·算法
byzh_rc2 小时前
[深度学习网络从入门到入土] 网络中的网络NiN
网络·人工智能·深度学习