incerto.ood.Energy#

class incerto.ood.Energy(model, temperature=1.0)[source]#

Bases: OODDetector

Energy-based score (Liu et al., NeurIPS 2020).

__init__(model, temperature=1.0)[source]#

Initialize the OOD detector with a trained model.

The model is automatically: 1. Set to eval mode 2. Has gradients disabled (requires_grad=False)

Parameters:

model – A trained PyTorch model (nn.Module)

Methods

__init__(model[, temperature])

Initialize the OOD detector with a trained model.

load_state_dict(state)

Load temperature parameter.

predict(x, threshold)

Predict whether inputs are OOD using a threshold.

save(path)

Save detector state to a file (excluding the model).

score(x)

Compute OOD scores for input samples.

state_dict()

Save temperature parameter.

__init__(model, temperature=1.0)[source]#

Initialize the OOD detector with a trained model.

The model is automatically: 1. Set to eval mode 2. Has gradients disabled (requires_grad=False)

Parameters:

model – A trained PyTorch model (nn.Module)

score(x)[source]#

Compute OOD scores for input samples.

Higher scores indicate the input is more likely to be out-of-distribution.

Parameters:

x – Input tensor of shape (batch_size, *input_dims)

Returns:

OOD scores of shape (batch_size,) where higher values indicate more OOD-like samples.

Note

The scale of scores depends on the detection method. Use the predict() method with a threshold for binary OOD decisions.

state_dict()[source]#

Save temperature parameter.

Return type:

dict

load_state_dict(state)[source]#

Load temperature parameter.

Parameters:

state (dict)

Return type:

None