Tôi muốn có định mức của một mảng NumPy. Cụ thể hơn, tôi đang tìm kiếm một phiên bản tương đương của chức năng này
def normalize(v):
norm = np.linalg.norm(v)
if norm == 0:
return v
return v / norm
Có một cái gì đó như thế trong skearn
hoặc numpy
?
Hàm này hoạt động trong một tình huống v
là vectơ 0.
raise
là một ngoại lệ!
x/np.linalg.norm(x)
không chậm hơn nhiều (khoảng 15-20%) so với x/np.sqrt((x**2).sum())
1.15.1 trên numpy trên CPU.