Skip to main content

A tutorial of NBDev, its use cases and making libraries from it.

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.

flowchart LR
  A[Feature\nEmbeddings] --> C{OOD Detection}
  B[In Distribution\nLabels] --> C
  C --> F[Uncertainty Score]
  F --> D[Out of Distribtuion]
  F --> E[In Distribtuion]

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.

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.2.tar.gz (9.6 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.2-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ood_detection-0.0.2.tar.gz
  • Upload date:
  • Size: 9.6 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.2.tar.gz
Algorithm Hash digest
SHA256 67cd9bab44221202b9a1af2b30be48bfdef3d365c772426477daccb253647938
MD5 47aeb684e03ea8094fd7696d4423e174
BLAKE2b-256 cbc1ac9fe5ef20b5113211e5e87e633fa45c249b7852aa8140cca25afc2d1818

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ood_detection-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 810f18ec76fabeb715a3a230190ea0532e032888dd7ec0c61c7ed157cafe3725
MD5 6da66a075b144f4c726827eca8502616
BLAKE2b-256 2bcd5c315bde84c9c25b67e0e50bef544b160d23f6df4642c154e344c8fcb19e

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