kkirchheim/pytorch-ood

👽 Out-of-Distribution Detection with PyTorch

解决的问题

深度学习模型在面对与训练集显著不同的数据(分布外或OOD数据)时,常常会静默失败。该库提供了一个标准化的工具包,用于检测模型何时遇到此类“未知”输入,帮助防止生产环境中的不可靠预测。

工作原理

该库实现了广泛的学术OOD检测算法,这些算法分析模型的内部状态(如softmax概率、能量分数或特征激活),以确定输入是否可能是异常值。它为这些检测器提供了一致的接口,允许用户在不同方法之间切换,根据标准基准进行评估,并将其集成到现有的PyTorch工作流中。

适用人群

该项目面向机器学习研究人员和工程师,他们需要评估模型的鲁棒性、实现不确定性估计,或构建能够安全拒绝超出模型训练分布输入的系统。

亮点

  • 广泛收集了最先进的OOD检测算法(如基于能量的方法、ODIN、马氏距离、ReAct、ViM)。
  • 内置支持常见的OOD基准,如OpenOOD。
  • 与流行的框架(如PyTorch Lightning和segmentation-models-pytorch)兼容。
  • 包含预训练模型权重以及数据增强和自定义损失函数的工具。
  • 标准化的API,用于评估和比较不同的检测策略。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目