Learning Out Of Distribution parameters in a previously trained classifier¶
This code snippet shows how to learn OOD parameters in a previously trained classifier.
C++¶
#include <eVision/EasyDeepLearning/EasyClassify/EClassifier.h>
using namespace eVision;
using namespace eVision::EasyDeepLearning;
// Load datasets
EDataset trainDataset, validationDataset;
// WARNING: The training and validation datasets MUST correspond to the
// datasets originally used to train the classifier!
// Classifier
EClassifier classifier;
classifier.Load("my_classifier");
// Enable OOD
classifier.SetComputeOODWithResult(true);
// Learn OOD parameters
classifier.LearnOODParameters(trainDataset, validationDataset);
// 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();
C#¶
using eVision;
using eVision.EasyDeepLearning;
// Load datasets
EDataset trainDataset = new EDataset();
EDataset validationDataset = new EDataset();
// WARNING: The training and validation datasets MUST correspond to the
// datasets originally used to train the classifier!
// Classifier
EClassifier classifier = new EClassifier();
classifier.Load("my_classifier");
// Enable OOD
classifier.ComputeOODWithResult = true;
// Learn OOD parameters
classifier.LearnOODParameters(trainDataset, validationDataset);
// 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();
Python¶
import eVision
from eVision import EasyDeepLearning as edl
# Load datasets
trainDataset = edl.EDataset()
validationDataset = edl.EDataset()
# WARNING: The training and validation datasets MUST correspond to the
# datasets originally used to train the classifier!
# Classifier
classifier = edl.EClassifier()
classifier.Load("my_classifier")
# Enable OOD
classifier.ComputeOODWithResult = True
# Learn OOD parameters
classifier.LearnOODParameters(trainDataset, validationDataset)
# 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()