确定输入是否在分布外(OOD)是在开放世界中安全部署机器学习模型的一个重要基石。然而,以往依赖softmax置信评分的方法对OOD数据存在过自信的后验分布。我们提出了一个使用能量分数的OOD检测的统一框架。我们表明,能量分数比使用softmax分数的传统方法更好地区分分布内和分布外的样本。与softmax信心分数不同,能量分数理论上与输入的概率密度一致,不太容易受到过度自信问题的影响。在这个框架内,能量可以被灵活地用作任何预训练的神经分类器的评分函数,也可以作为可训练的代价函数来明确地塑造能量表面,用于OOD检测。在CIFAR-10预训练的WideResNet中,使用能量分数比softmax信心分数降低平均FPR (TPR 95%) 18.03%。在以能量为基础的训练中,我们的方法在一般的基准上比最先进的方法表现得更好。