Numpy加速的關鍵 使用優化的方法

2021-07-23 23:13:48 字數 927 閱讀 8492

# -*- coding: utf-8 -*-

"""created on sun oct 23 20:05:57 2016

@author: zang

"""import timeit

normal_py_sec = timeit.timeit('sum(x*x for x in xrange(1000))', number=10000)

*****_np_sec = timeit.timeit('sum(na*na)', setup="import numpy as np;na=np.arange(1000)",number=10000)

good_np_sec = timeit.timeit('na.dot(na)', setup="import numpy as np;na=np.arange(1000)",number=10000)

print

"normal python: %f sec" % normal_py_sec

print

"***** numpy: %f sec" % *****_np_sec

print

"good numpy: %f sec" % good_np_sec

執行結果:

normal python: 0.630046

sec***** numpy: 0.949492

secgood numpy: 0.012041

sec

***** numpy只是將陣列放入numpy儲存,這時比python標準列表花的時間還要長,

最快的是使用 np.dot 方法的時候,所以在優化的時候,

要時長考慮將陣列元素的迴圈操作從python中移到一些高度優化的numpy或者scipy**擴充套件函式**中。

numpy使用GPU加速

在跑完mnist的knn分類後,跑的挺慢,突然想有沒有gpu的numpy的呢,上網查了查,才知道原生的numpy沒有實現 不應該啊。結構查到了minpy,花了10分鐘左右配好了環境,寫個日誌記錄一下。安裝minpy 我的機器是ubuntu 16.04的,minpy需要cuda,cudnn,由於這倆我...

使用CDN加速優化前端效能

cdn content distribute network 內容分發網路的本質仍然是乙個快取,而且將資料快取在離使用者最近的地方,使使用者以最快的速度獲取資料,即所謂網路訪問的第一跳。由於cdn部署在網路運營商的機房,這些機房又是終端使用者網路的服務提供商,因此使用者請求路由的第一條就到達了cdn...

vue使用cdn加速優化專案

webpack會將所有的依賴包都生成並打包到js chunk vendors.97b0334e.js中,這樣會導致這個包的體積過大,在載入的時候會有延時。解決辦法 通過externals載入外部cdn資源 1 複製乙份main.js改名為main prod.js。注意 這個優化是專案結束時幹的事,不...