为什么 milvus 计算出来的 l2 和 numpy 计算结果不一样
我本地应用自定义的 l2 函数:
from typing import List
import numpy
def l2(vector1: List[float], vector2: List[float]) -> float:
vector1 = numpy.array(vector1)
vector2 = numpy.array(vector2)
return float(numpy.sqrt(numpy.sum(numpy.square(vector1 - vector2))))
和 milvus 的 “metric_type”: ‘L2’ 返回后果不一样,milvus 返回的 distance 要比我自定义的 l2 结算后果小很多是怎么回事?
搜寻 milvus 的形式:
我自定义的 l2 和 python 的 face_recognition 库的 l2 的计算结果是一样的,所以我感觉是 milvus 的问题,然而我不确定是不是应用 milvus 的时候,哪个参数没有设置好?
milvus2.2.2
milvus 的欧式间隔没有开平方
milvu 的 l2 相当于是 numpy.sum(numpy.square(vector1 - vector2))
是吗?
我加上 numpy.sqrt 就失常了,然而为什么 milvus 的 l2 默认不开平方呢?
加上 sqrt 就一样了