Skip to main content

OOD Detection Library built using nbdev

Project description

OOD Detection

This library is used for OOD Detection where a model encounters new classes at test time that were not seen during training. The goal is to detect that such inputs do not belong to any of the training classes.

Install

pip install ood_detection

Example Usage

import numpy as np
from ood_detection.core import OODMetric # imports OODMetric class and other utility functions
train_embedding = np.random.standard_normal((32, 2048))
train_labels = np.random.randint(low=0, high=5, size=(32,))
ood = OODMetric(train_embedding, train_labels)
test_embedding = np.random.standard_normal((32, 2048)) # test embedding from same distribution
scores = ood.compute_rmd(test_embedding) # compute relative mahalanobis distance
print(scores)
[ 1.16065497e+13 -1.37269901e+13  3.54920865e+12  4.75570475e+12
 -4.90615930e+12 -2.63622848e+12 -5.22489520e+11 -7.67105637e+12
  1.30991140e+12 -5.38689280e+12  2.71026479e+12 -4.07842659e+13
 -1.01482832e+13 -2.18136787e+13 -6.53841964e+12 -1.70525347e+13
  1.06493867e+13 -2.04729993e+13  4.68809372e+12 -6.11747086e+12
  1.09862330e+13  1.03001857e+13 -2.91312276e+13 -9.26086735e+12
  7.23079505e+12  7.26673743e+12 -4.73734980e+13  3.17798849e+12
  1.99687662e+13  2.99860166e+12  9.86244208e+11  8.76676896e+12]

Built using NBDev

This OOD Detection library was built in a jupyter notebook with proper documentation and test cases. These test cases are verified before they are published to Github Pages, PyPi, Conda etc.

I’ve written down a NBDev Tutorial explaining the thought process of Jeremy Howard and folks at FastAI behind building it. The tutorial covers about what it can do and how it is an amazing tool with support for building softwares following the best coding principles.

Acknowledgements

Special thanks to Yugam Tiwari for explaining the code he has written for the OODMetric and helping me packaging in the library.

Thanks to Soma Dhavala for coming up with the idea to prepare NBDev Tutorial and helping with the initial reading and exploration material.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ood_detection-0.0.8.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ood_detection-0.0.8-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file ood_detection-0.0.8.tar.gz.

File metadata

  • Download URL: ood_detection-0.0.8.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for ood_detection-0.0.8.tar.gz
Algorithm Hash digest
SHA256 166aa19e6072dcaba9a3f14f76fe6dbc4059ace6e60325782688578b57c6425b
MD5 91aad6421311ccb124fbd259b629dec0
BLAKE2b-256 e4c4769956971516317dc0fca100c2988ec5174a93e32ecf8b7786627df5e735

See more details on using hashes here.

File details

Details for the file ood_detection-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: ood_detection-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for ood_detection-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8a0891a912201a6d536ff1d03d3040c073cc36c7b8504a449aafc668174a1a2d
MD5 82ae8a7c56f52de2aba99d38c85ad5b7
BLAKE2b-256 0c2f6f58c659597de92f503831c4a7a58d65494c874abf784f036b667e985704

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page