最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python加速器numba使用詳解

 更新時間:2023年02月02日 09:32:38   作者:_劉文凱_  
本文主要介紹了python加速器numba使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

python的一個加速器包,這里不講原理,只講應(yīng)用過程,以及給出幾個小例子,直接寫就行了; 另外還給出了numba如何定義使用List

1、最簡單的使用

當(dāng)輸出返回值為整數(shù)或浮點數(shù)時:

from numba import jit
@jit(nopython=True)
def f(x, y):
? ? return x+y

if __name__ == '__main__':
? ? a = 1
? ? b = 1
? ? print(f(a,b))

解釋:

使用裝飾器,另外,nopython=True是防止numba自動更改加速模式,也就是使用nopython。

上述代碼等價于:

from numba import njit
@njit ?# 也就是jit(nopython=True)
def f(x, y):
? ? return x+y

if __name__ == '__main__':
? ? a = 1
? ? b = 1
? ? print(f(a,b))

2、進階

當(dāng)輸出返回值為“不同類型值”時:

裝飾器使用:generated_jit

from numba import generated_jit, typed

@generated_jit(nopython=True)
def f2(x):
? ? if x==1:
? ? ? ? return lambda x: x+1
? ? else:
? ? ? ? return lambda x: [1,2]

if __name__ == '__main__':
? ? a = 1
? ? print(f2(a))

當(dāng)進行矩陣或向量運算時:

使用裝飾器:vectorize

from numba import vectorize, float64
import numpy as np

@vectorize([float64(float64, float64)]) ?# 注意有中括號
def f(x, y):
? ? return x + y

if __name__ == '__main__':
? ? a = np.array([1,2])
? ? b = np.array([2,2])
? ? print(f(a,b))

補充

在numba內(nèi)定義列表:

import numpy as np
import time
NUM = 160
from numba import jit
from numba.typed import List

a = List()
a.append(1) # 同樣需要指定數(shù)據(jù)類型,塞個1,數(shù)據(jù)類型就是int

@jit(nopython=True)
def f(a):
? ? for i in range(NUM):
? ? ? ? a.append(i)

if __name__ == '__main__':
? ?for i in range(5):
? ? start = time.time()
? ? f(a)
? ? print(time.time()-start)

到此這篇關(guān)于python加速器numba使用詳解的文章就介紹到這了,更多相關(guān)python加速器numba內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pyqt5 刪除layout中的所有widget方法

    pyqt5 刪除layout中的所有widget方法

    今天小編就為大家分享一篇pyqt5 刪除layout中的所有widget方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 淺談Python生成器generator之next和send的運行流程(詳解)

    淺談Python生成器generator之next和send的運行流程(詳解)

    下面小編就為大家?guī)硪黄獪\談Python生成器generator之next和send的運行流程(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python對象及面向?qū)ο蠹夹g(shù)詳解

    python對象及面向?qū)ο蠹夹g(shù)詳解

    這篇文章主要介紹了python對象及面向?qū)ο蠹夹g(shù),結(jié)合實例形式詳細分析了Python面向?qū)ο笏婕暗念?、對象、方法、屬性等概念與使用技巧,需要的朋友可以參考下
    2016-07-07
  • Python使用Flask-SQLAlchemy連接數(shù)據(jù)庫操作示例

    Python使用Flask-SQLAlchemy連接數(shù)據(jù)庫操作示例

    這篇文章主要介紹了Python使用Flask-SQLAlchemy連接數(shù)據(jù)庫操作,簡單介紹了flask、Mysql-Python以及Flask-SQLAlchemy的安裝方法,并結(jié)合實例形式分析了基于Flask-SQLAlchemy的數(shù)據(jù)庫連接相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 解決yum對python依賴版本問題

    解決yum對python依賴版本問題

    這篇文章主要介紹了解決yum對python依賴版本問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 一文詳解Python三引號(“““)的五個神奇用法

    一文詳解Python三引號(“““)的五個神奇用法

    今天我們來聊一聊 Python 中的一個神奇字符——三引號("""),三引號"""不僅僅是用來定義多行字符串的簡單工具,它還隱藏著許多令人驚嘆的用途,感興趣的小伙伴跟著小編一起來看看吧
    2025-04-04
  • NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    這篇文章主要為大家介紹了NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python讀取鍵盤輸入的2種方法

    Python讀取鍵盤輸入的2種方法

    這篇文章主要介紹了Python讀取鍵盤輸入的2種方法,主要使用的就是raw_input函數(shù)和input函數(shù),本文分別給出使用實例,需要的朋友可以參考下
    2015-06-06
  • Python 列表的基本操作介紹

    Python 列表的基本操作介紹

    這篇文章主要介紹了Python 列表的基本操作,下面文章圍繞Python 列表的相關(guān)資料展開文章的詳細內(nèi)容,,需要的朋友可以參考一下,希望對大家有所幫助
    2021-11-11
  • Python技巧之變長和定長序列拆分

    Python技巧之變長和定長序列拆分

    這篇文章主要給大家分享的是Python技巧之變長和定長序列拆分,Python中的任何序列(可迭代的對象)都可以通過賦值操作進行拆分,包括但不限于元組、列表、字符串、文件、迭代器、生成器等。想了解更多詳細的小伙伴請參考下面文章內(nèi)容
    2021-12-12

最新評論

贵南县| 三河市| 阳西县| 新蔡县| 平安县| 吉木萨尔县| 桃园县| 潼南县| 仙游县| 合江县| 贡山| 德州市| 池州市| 佛坪县| 灌阳县| 静海县| 开封市| 旬阳县| 墨竹工卡县| 石狮市| 安吉县| 竹溪县| 青州市| 广东省| 乐昌市| 瑞安市| 油尖旺区| 五原县| 吴旗县| 资源县| 宁波市| 澜沧| 新邵县| 兴国县| 扬中市| 泗阳县| 禄劝| 新竹市| 分宜县| 韶山市| 嘉定区|