
DeepFace 0.0.89 及更高版本重构了内部模块结构,原 deepface.commons.distance 已移除,距离计算函数(如欧氏距离、余弦相似度)统一迁移至 deepface.modules.verification 模块,需更新导入方式以避免 ImportError。
deepface 0.0.89 及更高版本重构了内部模块结构,原 `deepface.commons.distance` 已移除,距离计算函数(如欧氏距离、余弦相似度)统一迁移至 `deepface.modules.verification` 模块,需更新导入方式以避免 importerror。
在 DeepFace 的持续迭代中,为提升模块职责清晰度与可维护性,v0.0.89 版本对核心工具函数进行了结构性调整:所有与人脸比对相关的距离度量逻辑(包括 find_euclidean_distance、find_cosine_similarity、find_manhattan_distance 等)已从旧路径 deepface.commons 迁移至新模块 deepface.modules.verification。这意味着以下传统写法将失效:
# ❌ 已废弃(触发 ImportError) from deepface.commons import distance dist = distance.find_euclidean_distance(x, y)
✅ 正确用法如下:
from deepface.modules import verification # 计算欧氏距离(L2) dist = verification.find_euclidean_distance(x, y) # 计算余弦相似度(返回值 ∈ [-1, 1]) sim = verification.find_cosine_similarity(x, y) # 计算曼哈顿距离 manhattan = verification.find_manhattan_distance(x, y)
注意事项:
- verification 模块中的函数均接受一维 NumPy 数组(如 128 维嵌入向量)作为输入,无需额外预处理;
- 若你使用 DeepFace.verify() 或 DeepFace.find() 等高层 API,它们内部已自动适配新路径,无需修改调用代码,该变更仅影响直接调用底层距离函数的场景;
- 建议升级后运行 pip show deepface 确认版本 ≥ 0.0.89,并检查 site-packages/deepface/modules/verification.py 是否存在以验证安装完整性。
如仍遇导入问题,请清除 Python 缓存并重装(推荐):
pip uninstall -y deepface pip install --no-cache-dir deepface
此调整标志着 DeepFace 向更规范的模块化架构演进,合理分离“特征提取”“距离计算”“决策阈值”等关注点,也为后续扩展多模态比对能力奠定基础。

















