python向量化與for循環(huán)耗時(shí)對比分析
向量化與for循環(huán)耗時(shí)對比
深度學(xué)習(xí)中,可采用向量化替代for循環(huán),優(yōu)化耗時(shí)問題
對比例程如下,參考Andrew NG的課程筆記
import time import numpy as np a = np.random.rand(1000000) b = np.random.rand(1000000) tic = time.time() c = np.dot(a,b) toc = time.time() print(c) print("Vectorized version: " , str(1000*(toc-tic)) + "ms") c = 0 tic1 = time.time() for i in range(1000000): c += a[i]*b[i] toc1 = time.time() print(c) print("For loop version: " , str(1000*(toc1-tic1)) + "ms")
處理百萬數(shù)據(jù),耗時(shí)相差400多倍。
效果圖:
向量化數(shù)據(jù)的相比于for循環(huán)的優(yōu)勢
例子
import numpy as np import time a = np.random.rand(1000000) b = np.random.rand(1000000) tic = time.time() c = np.dot(a,b) toc = time.time() print? print(“vectorized version:” + str((toc-tic))+“s”) c1 = 0 tic = time.time() for i in range(1000000): c1 += a[i]*b[i] toc = time.time() print(c1) print(“Nonvectorized version:” + str(toc-tic)+“s”)
結(jié)果
250487.97870397285
vectorized version:0.002000093460083008s
250487.9787039739
Nonvectorized version:0.957054615020752s
可以看出向量化后執(zhí)行時(shí)間比使用for循環(huán)快478倍
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python實(shí)現(xiàn)的車牌識別系統(tǒng)
本文將以基于Python的車牌識別系統(tǒng)實(shí)現(xiàn)為方向,介紹車牌識別技術(shù)的基本原理、常用算法和方法,并詳細(xì)講解如何利用Python語言實(shí)現(xiàn)一個(gè)完整的車牌識別系統(tǒng),需要的朋友可以參考下2023-10-10python使用正則表達(dá)式去除中文文本多余空格,保留英文之間空格方法詳解
這篇文章主要介紹了python使用正則表達(dá)式去除中文文本多余空格,保留英文之間空格方法詳解,需要的朋友可以參考下2020-02-02OpenCV每日函數(shù)之BarcodeDetector類條碼檢測器
OpenCV在V4.5.3版本的contrib包中提供了一個(gè)barcode::BarcodeDetector類,用于條形碼的識別,這篇文章主要介紹了OpenCV每日函數(shù)?BarcodeDetector條碼檢測器,需要的朋友可以參考下2022-06-06Python自動(dòng)化實(shí)戰(zhàn)之接口請求的實(shí)現(xiàn)
本文為大家重點(diǎn)介紹如何通過 python 編碼來實(shí)現(xiàn)我們的接口測試以及通過Pycharm的實(shí)際應(yīng)用編寫一個(gè)簡單接口測試,感興趣的可以了解一下2022-05-05Django高級編程之自定義Field實(shí)現(xiàn)多語言
這篇文章主要介紹了Django高級編程之自定義Field實(shí)現(xiàn)多語言,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python實(shí)現(xiàn)復(fù)制文檔數(shù)據(jù)
我們百度搜索一些東西得時(shí)候,經(jīng)常找到文檔里面然后就會(huì)發(fā)現(xiàn)需要充值才能復(fù)制!怎么可以不花錢也保存呢?今天就分享給大家一個(gè)python獲取文檔數(shù)據(jù)得方法,需要的可以收藏一下2022-12-12