9
Khi tôi so sánh hai mảng NumPy bên trong chức năng của tôi, tôi nhận được một lỗi chỉ nói chiều dài-1 mảng có thể được chuyển đổi sang vô hướng Python:Numba autojit lỗi trên so sánh mảng NumPy
from numpy.random import rand
from numba import autojit
@autojit
def myFun():
a = rand(10,1)
b = rand(10,1)
idx = a > b
return idx
myFun()
Lỗi:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-f7b68c0872a3> in <module>()
----> 1 myFun()
/Users/Guest/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numba/numbawrapper.so in numba.numbawrapper._NumbaSpecializingWrapper.__call__ (numba/numbawrapper.c:3764)()
TypeError: only length-1 arrays can be converted to Python scalars
Vâng, một trong những động lực chính của việc sử dụng mảng NumPy là tận dụng các chức năng được tích hợp sẵn của chúng và không phải viết lại tất cả các tiện ích của chúng một cách rõ ràng. Tôi chỉ đưa ra một ví dụ đơn giản mà Numba phá vỡ với các phép toán logic trên các mảng NumPy. Nhưng, nói chung, tôi nhận được lỗi với nhiều loại Boolean/logic lập chỉ mục, và đây là một phương pháp thực sự hữu ích nếu bạn đang làm số/khoa học mã hóa với mảng. – KartMan