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

什么是向量化?

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

相关推荐
badhope3 分钟前
10个GitHub高星开源项目推荐
大数据·人工智能·深度学习·数据挖掘·github
云边云科技_云网融合4 分钟前
今天,我们来聊一聊 AI WAN
人工智能·安全·云计算
北京软秦科技有限公司6 分钟前
AI报告文档审核重构制药行业质量监管体系:IACheck驱动智慧管控与合规能力全面升级
大数据·人工智能·重构
EasyGBS6 分钟前
实战落地:国标GB28181视频平台EasyGBS+国密GB35114协议,双重保障赋能智慧安防全场景安全高效联网
人工智能·安全·音视频
阿部多瑞 ABU6 分钟前
AI红队安全报告:ADRO框架与长周期渐进式诱导攻击的实证研究
人工智能·安全
格林威7 分钟前
工业相机图像采集处理:从 RAW 数据到 AI 可读图像,附海康相机 C++实战代码
开发语言·c++·人工智能·数码相机·计算机视觉·c#·工业相机
寰宇视讯8 分钟前
日内瓦金奖!镓未来双向 GaN 器件携手合工大,助力 OBC 集成度提升 53%!
人工智能·神经网络·生成对抗网络
余俊晖8 分钟前
多模态文档解析新思路:MinerU-Diffusion通过扩散解码进行文档OCR
人工智能·ocr·多模态
程序员柒叔9 分钟前
opencode 一周动态-2026-W13
人工智能·windows·agent·编码智能体·opencode
ZKNOW甄知科技10 分钟前
燕千云底层架构:如何在高标准ITSM中注入本土合规基因?
运维·人工智能·科技·低代码·ai·架构·敏捷流程