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

什么是向量化?

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

相关推荐
辉视广播对讲7 小时前
医院IPTV,让医疗服务更有温度
网络·人工智能
xqqxqxxq7 小时前
Java AI智能P图工具技术笔记
java·人工智能·笔记
AI袋鼠帝7 小时前
本地4B开源模型,把任何App当Skil用!告 别token焦虑,私密性强~
人工智能
ComputerInBook7 小时前
数字图像处理(4版)——第 11 章——特征提取(下)(Rafael C.Gonzalez&Richard E. Woods)
图像处理·人工智能·特征提取
在线打码7 小时前
ToutiaoAI:AI 驱动的智能新闻杂志平台
人工智能·ai·aigc·ai写作·新闻资讯
ar01237 小时前
AR电路巡检:让电力运维进入智能可视化时代
运维·人工智能·ar
低调小一7 小时前
Midscene.js 原理拆解:它不是“自然语言点按钮”,而是一套会看屏幕的 UI 自动化运行时
人工智能·rnn·架构·大模型·transformer·tdd·midscene
Slow菜鸟7 小时前
Codex CLI 教程(五)| Skills 安装指南:面向 Java 全栈工程师打造个人 ECC(V1版)
大数据·前端·人工智能
昇腾CANN7 小时前
5月11日直播丨CANN算子挑战赛(江山赛区)赛题和评分规则解读
人工智能·昇腾·cann·deepseek
菜鸡信息技术7 小时前
VSCode 安装 Claude Code 插件,配置 DeepSeek V4(Windows)
人工智能