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,用于评估和比较不同的检测策略。
相关
- 项目
facebookresearch/pytorchvideoPyTorchVideo 是一个基于 PyTorch 的库,提供面向视频的数据加载器、变换以及预训练模型库(如 SlowFast、X3D、MViT),用于视频理解 AI 的研究与开发。它简化了训练和快速推理,支持移动端部署,并在 Apache 2.0 许可下开源。
- 项目
yzhao062/pyodPyOD 是一个全面的 Python 库,用于跨表格、时间序列、图形、文本、图像和音频数据的异常/离群值检测。版本 3 新增了代理就绪的编排核心(ADEngine)和自然语言技能,让 LLM 代理可以自动执行检测工作流程。经典的 `fit`/`predict` API 仍然保留,包包含 61 个检测器、基准测试支持的模型路由,以及可选的 MCP/Claude-Code 集成。
- 项目
marcellodebernardi/loss-landscapes`loss‑landscapes` 是一个基于 PyTorch 的库,可在模型参数空间的低维切片上采样标量指标(损失、梯度范数、曲率、期望回报等),便于轻松创建损失面可视化图。它提供灵活的 `Metric` 抽象、子空间生成器(直线、平面等)以及 `ModelWrapper` 以兼容标准模型和强化学习智能体。原始 2019 年版本已损坏,正在重写中,因此 API 可能会变化。
- 项目
pytorch/benchmarkPyTorch Benchmarks 是一组标准化、轻量级的流行深度学习模型(如 BERT、ResNet、Stable Diffusion 等)的集合,可用于衡量不同 PyTorch 构建、CUDA 版本和后端的性能。它提供统一 API、安装脚本、多种运行器(简单测试、pytest-benchmark、自定义用户基准)以及用于在 AWS g4dn.metal 实例上进行低噪声调优的实用工具。
- 项目
meta-pytorch/captumCaptum 是一个 PyTorch 库,提供了一套模型可解释性算法(Integrated Gradients、DeepLift、Gradient Shap、SmoothGrad、TCAV、TracIn、神经元/层导电性等),旨在帮助开发者和研究人员理解哪些输入、神经元或训练样本驱动了模型的预测结果。它可以通过 pip/conda 安装,并与任何 PyTorch 模型兼容。