9
की तुलना पर त्रुटि autojit जब मैं अपने समारोह के अंदर दो NumPy सरणी तुलना मैं एक त्रुटि केवल लंबाई -1 सरणियों कह अजगर scalars में बदला जा सकता है:Numba 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()
त्रुटि:
---------------------------------------------------------------------------
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
ठीक है, न्यूप्पी सरणी का उपयोग करने की मुख्य प्रेरणा में से एक है अपने अंतर्निहित कार्यों का लाभ उठाना और उनकी सभी उपयोगिताओं को स्पष्ट रूप से फिर से लिखना नहीं है। मैंने अभी एक साधारण उदाहरण दिया है जहां Numba NumPy arrays पर लॉजिकल ऑपरेशंस के साथ टूट जाता है। लेकिन, आम तौर पर, मुझे कई प्रकार के बूलियन/लॉजिकल इंडेक्सिंग के साथ त्रुटियां मिलती हैं, और यदि आप सरणी के साथ संख्यात्मक/वैज्ञानिक कोडिंग कर रहे हैं तो यह वास्तव में उपयोगी तरीका है। – KartMan