2017-12-12 8 views
0

numbaのjitコンパイラを使用してPythonコードをコンパイルしようとしています。しかし、私は 'モジュール'呼び出し可能なエラーを取得し続けています。このデコレータを正しく呼び出すにはどうすればいいですか?私はまずnumbaをインストールし、それをjitとしてインポートします。以下のコードを参照してください。numbaのjitコンパイラで 'モジュール'を呼び出せません

!conda install -y numba 
import numba as jit 

@jit(nopython=True) 
def calltree_explicit(S0, K, T, r, sigma, delta, N): 
    deltaT = T/float(N) 
    u = np.exp(sigma * np.sqrt(deltaT)) 
    d = 1/u 
    p = (np.exp((r-delta)*deltaT) - d)/(u-d) 
    pstar = np.exp(-(r-delta)*deltaT)*p*u 
    a = np.ceil(N/2+np.log(K/S0)/(2*np.log(u))) 
    return np.exp(-delta*T)*S0*binom.sf(a-1, N, pstar)-binom.sf(a-1, N, 
    p)*np.exp(-r*T)*K 

これは、より速く

を作るために私のコードをコンパイルする必要がありますしかし、私は

--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-31-3cc5b3c83b9f> in <module>() 
----> 1 @jit(nopython=True) 
     2 def calltree_explicit(S0, K, T, r, sigma, delta, N): 
     3  deltaT = T/float(N) 
     4  u = np.exp(sigma * np.sqrt(deltaT)) 
     5  d = 1/u 

TypeError: 'module' object is not callable 

答えて

0

TypeError例外を受け取る:「モジュール」オブジェクトが呼び出すことはできませんあなたがのようなものを使用しようとしていること実際に関数やメソッドではない関数です。numbaのインポートに問題があります。多分試してみてください。

​​
+0

その場合、エラーが表示されます。ImportError:名前をインポートできませんinternal_prange –

+0

@ M.Birk Ubuntu 16.04でうまく動作します。 – MikiBelavista

関連する問題