6
私はいくつかのコードを最適化するためにnumbaを試みています。私は、0.26.0ユーザーガイド(http://numba.pydata.org/numba-doc/0.26.0/user/jit.html)のセクション1.3.1の最初の例を試して、予想される結果を得ました。問題はインストールではないと思います。python numba指紋エラー
は、ここに私のコードです:
import numba
import numpy
import random
a = 8
b = 4
def my_function(a, b):
all_values = numpy.fromiter(range(a), dtype = int)
my_array = []
for n in (range(a)):
some_values = (all_values[all_values != n]).tolist()
c = random.sample(some_values, b)
my_array.append(sorted([n] + c))
return my_array
print(my_function(a, b))
my_function_numba = numba.jit()(my_function)
print(my_function_numba(a, b))
どのmy_functionの呼び出しから期待される結果をプリントアウトした後、次のエラーメッセージが返されます:空のリストの
ValueError Traceback (most recent call last)
<ipython-input-8-b5d8983a58f6> in <module>()
19 my_function_numba = numba.jit()(my_function)
20
---> 21 print(my_function_numba(a, b))
ValueError: cannot compute fingerprint of empty list
指紋を?
素晴らしい、多くのありがとう。そして私は91.3マイクロ秒から12マイクロ秒になりました。なぜc = np.empty(b + 1、dtype = np.int32)で、c = np.empty(a、dtype = np.int32)ではないのか? – zazizoma
'c'の長さが' b'のコードでは、追加する前に '[n]'を追加するので、正しい形だと思いますか? – chrisb
再度、感謝します! – zazizoma