![](/img/trans.png)
[英]What is the difference between prophet package and fbprophet in Python?
[英]Python: what is the difference between a package and a compiler?
我正在閱讀 Numba 的 wiki 頁面,它說 Numba 是一個“編譯器”。 但后來,它說要使用 Numba,你需要像 package 一樣導入它。 后來我查了一下如何使用 Numba,確實,你只需 pip 安裝它。
所以現在我很困惑。 我以為 Numba 是編譯器? 但它似乎像其他任何 package 一樣使用,如 numpy 或 pandas? 有什么不同?
編譯器是一個程序,它以人類可讀的形式輸入某些內容(通常是指定語言的程序),並以另一種更易於機器消化的形式輸出功能等效的 stream。 與任何其他轉換一樣,它作為命令行調用或 function 調用同樣可行。
只要它被正確地包裝在 package 中以供一般使用,將編譯器作為 Python package 交付是完全合理的。
這是否解決了困難?
從我在 Numba 文檔中閱讀的內容來看,它是一個 package,您將其導入到您的項目中,然后使用 Numba 裝飾器指示您希望在 JIT(即時)中編譯的代碼部分以優化它們。 就像下面的例子:
from numba import jit
import random
@jit(nopython=True)
def monte_carlo_pi(nsamples):
acc = 0
for i in range(nsamples):
x = random.random()
y = random.random()
if (x ** 2 + y ** 2) < 1.0:
acc += 1
return 4.0 * acc / nsamples
當monte_carlo_pi
function 被調用時,Numba 將對其進行編譯以優化它,因此您無法執行編譯步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.