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

什么是向量化?

之前计算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 天前
腾讯云融合创新产品矩阵全面升级,首次发布专有云版“龙虾”
大数据·人工智能
青云计划1 天前
给 AI 写一份老厨师的菜谱:从传统文档到 Skill 知识体系
人工智能
Luminbox紫创测控1 天前
基于环境舱的新能源汽车三高试验方法与热响应评估
大数据·人工智能·测试工具·汽车·安全性测试·测试标准
码小猿的CPP工坊1 天前
AI时代C++软件开发工程师的思考
c++·人工智能
AI布道师-wang1 天前
第 6 章:Prompt 工程——和模型高效沟通
人工智能·机器学习·prompt
老王谈企服1 天前
AI Agent将如何重构制造业的安全生产隐患识别模式?深度理解与实在Agent闭环实战
人工智能·安全·ai·重构
枫叶林FYL1 天前
【机器学习与智慧医疗】糖尿病视网膜病变视力丧失预测:贝叶斯估计与威布尔分布
大数据·人工智能·机器学习
rayyy91 天前
神经网络拟合高频信号实验
人工智能·pytorch·神经网络
逆境不可逃1 天前
Hello-Agents 第二部分-第八章总结:记忆与检索
人工智能·向量·rag
Fabarta技术团队1 天前
模数共振・智能就位|枫清科技以企业级 AI Agent,响应国家 “智能体即服务” 战略
人工智能·科技