ध्यान दें कि, पेरीमोसोकार्डिया शो के रूप में, NumPy संस्करण 1.9 के रूप में, np.linalg.norm(x, axis=1)
L2- मानक की गणना करने का सबसे तेज़ तरीका है।
यदि आप L2- मान की गणना कर रहे हैं, तो आप इसे सीधे ( axis=-1
पंक्तियों के साथ योग करने के तर्क का उपयोग करके) गणना कर सकते हैं :
np.sum(np.abs(x)**2,axis=-1)**(1./2)
एलपी-मानदंडों को इसी तरह से गणना की जा सकती है।
यह काफी तेजी से है np.apply_along_axis
, हालांकि शायद उतना सुविधाजनक नहीं है:
In [48]: %timeit np.apply_along_axis(np.linalg.norm, 1, x)
1000 loops, best of 3: 208 us per loop
In [49]: %timeit np.sum(np.abs(x)**2,axis=-1)**(1./2)
100000 loops, best of 3: 18.3 us per loop
अन्य ord
रूपों की norm
गणना सीधे भी की जा सकती है (समान स्पीडअप के साथ):
In [55]: %timeit np.apply_along_axis(lambda row:np.linalg.norm(row,ord=1), 1, x)
1000 loops, best of 3: 203 us per loop
In [54]: %timeit np.sum(abs(x), axis=-1)
100000 loops, best of 3: 10.9 us per loop