码迷,mamicode.com
首页 > 其他好文 > 详细

吴恩达深度学习:2.11向量化

时间:2019-01-22 21:49:15      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:技术   toc   分享   需要   形式   量化   loop   创建   时间   

1.什么是向量化?

  在logistic 回归中,你需要计算z=w^Tx+b,w是列向量 ,x也是列向量,w和x都是R内的nx维向量

  在python中的一个非向量实现:

      for i in range(n-x):

        z+=w[i]*x[i]

      z+=b

  这种形式的计算很慢,对比下向量化的实现会直接计算W^TX,在numpy中,z=np.dot(w,x)是在计算W^TX后面直接加上b,计算的速度非常快

技术分享图片

  (1)创建一个向量a

import numpy as np
a=np.array([1,2,3,4])
print(a=,a)
a= [1 2 3 4]

  (2)比较向量化版本和非向量化版本时间消耗的值:

  

import time
#创建一个一百万维度的随机数组
a=np.random.rand(1000000)
b=np.random.rand(1000000)
tic = time.time()
c= np.dot(a,b)
toc=time.time()
print(vectorized version,str(1000*(toc-tic))+ms)


c=0
tic = time.time()
for i in range(1000000):
    c+=a[i]*b[i]
toc = time.time()
print(for loop=,str(1000*(toc-tic))+ms)

 

吴恩达深度学习:2.11向量化

标签:技术   toc   分享   需要   形式   量化   loop   创建   时间   

原文地址:https://www.cnblogs.com/bigdata-stone/p/10306015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!