numba提升python運行速度的實例方法

大傢都知道Python運行速度很慢,但是輪子多,因此用戶十分廣泛,在各種領域上都能用到Python,但是最頭疼的還是,解決運行速度問題,因此這裡給大傢介紹的是numba,是基本是等於再造語言。但是支持的numpy函數並不多。要讓能jit的函數多起來才行。下面就詳細介紹使用numba提升python運行速度方法。

numba簡介:

能夠實現將python函數編譯為機器代碼,提高運行速度。

工作作用:

給python換一種編譯器

使用numba:

1、導入numba及其編譯器

import numpy as np
import numba 
from numba import jit

2、傳入numba裝飾器jit,編寫函數

@jit(nopython=True) 
def go_fast(a): 
  trace = 0
   for i in range(a.shape[0]): 
    trace += np.tanh(a[i, i]) 
return a + trace

3、函數傳入實參

x = np.arange(100).reshape(10, 10) 
go_fast(x)

4、加速的函數執行時間

% timeit go_fast(x)

知識點擴展:

numba適合科學計算

numpy是為面向numpy數組的計算任務而設計的。

在面向數組的計算任務中,數據並行性對於像GPU這樣的加速器是很自然的。Numba瞭解NumPy數組類型,並使用它們生成高效的編譯代碼,用於在GPU或多核CPU上執行。特殊裝飾器還可以創建函數,像numpy函數那樣在numpy數組上廣播。

什麼情況下使用numba呢?

  • 使用numpy數組做大量科學計算時
  • 使用for循環時

到此這篇關於numba提升python運行速度的實例方法的文章就介紹到這瞭,更多相關如何使用numba提升python運行速度內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: