安全归一化
安全归一化
import numpy as np
def safe_l2norm(x, eps=1e-12):
norms = np.linalg.norm(x, axis=1, keepdims=True)
return x / np.maximum(norms, eps) # 全零向量保持全零
vecs = safe_l2norm(np.random.rand(100, 384).astype("float32"))对全零向量做除法会得到 NaN;NaN 一旦入库,检索排序会整体异常且很难定位。