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

什么是向量化?

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

相关推荐
北京耐用通信1 分钟前
工业自动化场景下耐达讯自动化的 CC-Link IE 转 Modbus TCP 技术方案与应用实践
人工智能·科技·物联网·网络协议·自动化
百家方案3 分钟前
2026年AI+智慧景区全场景应用解决方案白皮书 - 全1648页下载
人工智能·智慧文旅·智慧景区
intcube5 分钟前
让数据说话,让决策有据——构建闭环的数据驱动运营体系
大数据·人工智能·全面预算管理·财务规划
甄心爱学习5 分钟前
【最优化】1-6章习题
人工智能·算法
code_pgf5 分钟前
基于transformer的clip和blip之间的关系、原理、方法实现和直观可视化
人工智能·深度学习·transformer
PD我是你的真爱粉5 分钟前
向量数据库原理与检索算法入门:ANN、HNSW、LSH、PQ 与相似度计算
数据库·人工智能·算法
蕤葳-10 分钟前
AI证书在面试中的价值分析
人工智能
SuperEugene17 分钟前
Python 异步 async/await:为什么 AI 框架大量使用?| 基础篇
开发语言·人工智能·python
QYR_1118 分钟前
预计2032年全球智能换电站市场销售额将突破62.88亿美元
人工智能·市场调研
沃恩智慧20 分钟前
顶刊热门选题!PINN+LSTM,预测精度大幅提升!!
深度学习·机器学习·lstm