深圳品牌建网站,营销推广案例,wordpress文章多密码,wordpress 手机端APP什么是向量化#xff1f;
之前计算logistic回归损失函数时#xff0c;在代码实现时#xff0c;讨论了for循环#xff1a;过多的for循环会拖慢计算的速度(尤其当数据量很大时)
因此#xff0c;为了加快计算#xff0c;向量化是一种手段
运用python的numpy库#xff0c…什么是向量化
之前计算logistic回归损失函数时在代码实现时讨论了for循环过多的for循环会拖慢计算的速度(尤其当数据量很大时)
因此为了加快计算向量化是一种手段
运用python的numpy库我们可以使用库函数这些函数一般可以并行计算(类似矩阵计算)加快计算的速度
向量化的作用
向量化能加快计算速度能加快多少呢
下面是一个例子
要计算百万量级数组的相乘运用numpy里的np.dot()函数计算大大加快计算速度(相较于for循环)
import numpy as np
import timea 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)它们十分擅长并行计算也就是说运用向量化可以充分发挥计算机的性能