Using Out Of Distribution scores during classification¶
This code snippet shows how to compute and use Out Of Distribution scores during classification.
C++¶
#include <eVision/EasyDeepLearning/EasyClassify/EClassifier.h>
using namespace eVision;
using namespace eVision::EasyDeepLearning;
// Classifier
EClassifier classifier;
// Load a pretrained classifier whose OOD parameters have been learned
classifier.Load("classifierPath");
// Test image
EImageBW8 image;
// Get result
EClassificationResult result = classifier.Classify(image);
// Get OOD score
float score = result.GetOODScore();
// Get OOD threshold
float threshold = result.GetOODThreshold();
// Get binary OOD result
bool isOOD = result.IsOOD();
// Set custom OOD threshold
classifier.SetOODThreshold(0.5);
// Disable OOD computation
classifier.SetComputeOODWithResult(false);
C#¶
using eVision;
using eVision.EasyDeepLearning;
// Classifier
EClassifier classifier = new EClassifier();
// Train the classifier
classifier.Load("classifierPath");
// Test image
EImageBW8 image = new EImageBW8();
// Get result
EClassificationResult result = classifier.Classify(image);
// Get OOD score
float score = result.OODScore;
// Get OOD threshold
float threshold = result.OODThreshold;
// Get binary OOD result
bool isOOD = result.IsOOD();
// Set custom OOD threshold
classifier.OODThreshold = 0.5f;
// Disable OOD computation
classifier.ComputeOODWithResult = false;
Python¶
import eVision
from eVision import EasyDeepLearning as edl
# Classifier
classifier = edl.EClassifier()
# Load a pretrained classifier whose OOD parameters have been learned
classifier.Load("classifierPath")
# Test image
image = eVision.EImageBW8()
# Get result
result = classifier.Classify(image)
# Get OOD score
score = result.OODScore
# Get OOD threshold
threshold = result.OODThreshold
# Get binary OOD result
isOOD = result.IsOOD()
# Set custom OOD threshold
classifier.OODThreshold = 0.5
# Disable OOD computation
classifier.ComputeOODWithResult = False