Skip to content

Changelog

3.0.0 (2023-01-09)

⚠ BREAKING CHANGES

  • neuralnet: make get_state_dict return deep copy

Features

  • augmentation: add jpeg2000 compression step (6700c95)
  • caching: abstract face detection/feature extraction load/save with cachers (8994668)
  • feature-extraction: add stationary wavelet packets extraction (905c78a)
  • nn: add load_from_checkpoint argument to optimizer when fine tuning (32c41d5)
  • utils: add glob_multiple utility function (51328a3)

Bug Fixes

  • cli: add pretty printing of exceptions when not verbose (26a374d)
  • dataset: allow data augmentation to skip failing step (f5e6b96)
  • neuralnet: make get_state_dict return deep copy (7236c50)

2.0.0 (2022-12-12)

⚠ BREAKING CHANGES

  • augmentation: change default N2 noise value for print&scan simulation
  • dataset: remove automatic bgr to rgb conversion
  • cli: reset seed before training and before evaluation
  • augmentation: change signature of augmentation process_element

Features

  • augmentation: add grayscale augmentation (b81d2db)
  • augmentation: add jpeg and resize augmentations (5b52035)
  • augmentation: add print&scan augmentation step (458394b)
  • augmentation: add stack config to grayscale step (a79e642)
  • config: add json metrics file report (4032d95)
  • dataset: allow for empty test set (ef11f07)
  • feature-extraction: add prnu, fourier and wavelets (4393e3e)
  • loaders: add cfd/cfdmorph loaders (4454797)
  • loaders: add morph level args to CFDMorph loader (f273cc5)
  • loaders: add png and jpg loading for cfd and cfdmorph (0106e99)
  • model: add feature inception resnet (d247360)
  • model: use 8 instead of 5 decimals in scores (5b818d4)
  • preprocessing: add dataset-variant preprocessing (daa6247)
  • preprocessing: add select channel and color space conversions (b8795b9)
  • preprocessing: make maximum value configurable for each channel (ef58d51)

Bug Fixes

  • augmentation: change default N2 noise value for print&scan simulation (428957d)
  • augmentation: make print&scan sigma proportional to image diagonal (4ce23e1)
  • callbacks: fix missing image report if fine tuning (9b7abb6)
  • cli: reset seed before training and before evaluation (3d8d62b)
  • dataset: fix use before assign in offline processing (677d798)
  • model: mitigate memory leak in model evaluation (a7919b6)

Code Refactoring

  • augmentation: change signature of augmentation process_element (cab004f)
  • dataset: remove automatic bgr to rgb conversion (5e28a29)

1.0.6 (2022-12-08)

Bug Fixes

  • deps: update dependency scikit-learn to ~1.2.0 (c856597)

1.0.5 (2022-12-07)

Bug Fixes

  • deps: update dependency wandb to v0.13.6 (65436b3)

1.0.4 (2022-11-20)

Bug Fixes

  • deps: update dependency numpy to v1.23.5 (061aea3)

1.0.3 (2022-11-09)

Bug Fixes

  • deps: update dependency tensorboard to ~2.11.0 (c2bdf22)

1.0.2 (2022-11-04)

Bug Fixes

  • deps: update dependency wandb to v0.13.5 (2fa7a78)

1.0.1 (2022-11-03)

Bug Fixes

  • deps: update dependency matplotlib to v3.6.2 (e192a41)

1.0.0 (2022-11-02)

Features

  • add logging (474f39f)
  • augmentation: add applies_to field (8a1a21e)
  • augmentation: add augmentation steps (2eb2b8e)
  • callbacks: add early stopping (ad48f03)
  • callbacks: add memory profiling to tensorboard (5fdd28f)
  • callbacks: add model checkpoint (b5ffef8)
  • callbacks: add steps count (13b7ea4)
  • callbacks: add tensorboard batch viz, graph (c7c868e)
  • callbacks: add tensorboard callback (a86ddeb)
  • cli: add --no-warmup argument to skip warmup (c9fce89)
  • cli: add cli argparser (ac5cc8c)
  • cli: add configurable warmup workers count (171bc21)
  • cli: add model fitting to cli (21e0d0c)
  • cli: avoid creating train/val workers when only inferencing (0258090)
  • config: add config model (6060d89)
  • config: add configurable seed (0f43c1a)
  • config: add templating to scores files path (1a2c3e5)
  • dataset: add check to make sure all elements have the same number of x (97993c9)
  • dataset: add dataset element object (4754cfb)
  • dataset: add dataset factory and torch dataset (c1080f9)
  • dataset: add dataset loader (9627071)
  • dataset: add explicit loader with args (e105f53)
  • dataset: add length (fec1bae)
  • dataset: add stats printing (8bc2a73)
  • dataset: add warmup function (3b78208)
  • dataset: create testing groups and rework splitting (ac433b3)
  • face-detection: add dlib detector (b78add1)
  • face-detection: add face detector module (3767762)
  • face-detection: add opencv and mtcnn detectors (cf0cc4e)
  • feature-extraction: add feature extractors (2dafd04)
  • loaders: add biometix morphed loader (1ecc55a)
  • loaders: add morphdb loader (6de92b8)
  • loaders: add pmdb loader (a74c60b)
  • loaders: add several loaders (553f258)
  • losses: add adam (56992b3)
  • metrics: add accuracy (2ebd862)
  • metrics: add eer and bpcer@apcer (0f25bc7)
  • metrics: add epoch_* metrics for tensorboard, checkpoint and early stopping callbacks (212351a)
  • metrics: add metrics (7938b00)
  • metrics: add tpr and tnr (cea5757)
  • metrics: allow multiple values in one metric (e45cddd)
  • metrics: expose device in which metrics are run (c50a2fc)
  • model: add alexnet, vgg and resnet (81b603f)
  • model: add base model class (ded81c9)
  • model: add inception resnet (6fbe362)
  • model: add mobilenet (cbdfa5f)
  • model: add neural network class (4d0eff2)
  • model: add random guesser (a4dd65a)
  • model: add save/load checkpoint (097c78f)
  • model: add squeezenet (7e6b44d)
  • model: add vision transformer (1c441ff)
  • model: move scores file path eval to model score computation (ecf21f8)
  • optimizers: add binary cross entropy (3f34637)
  • preprocessing: add normalization preprocessing (230650a)
  • preprocessing: add preprocessing phase after feature extraction (47c35e4)
  • preprocessing: add uint8 -> float32 preprocessing (24bf94b)
  • registry: add - as ignored char (1b395c7)
  • registry: add transparent registrable classes (3da9dd6)
  • registry: allow snake case names (9925ad9)
  • registry: make kwargs with _ assignable only explicitly (906c73c)

Bug Fixes

  • add dataset root to dataset element (c07e304)
  • augmentation: change signature of step to take only the image (bb161e2)
  • callbacks: add mkdir to model checkpoint target directory (dc8c170)
  • callbacks: change bona fide to live image reporting (f25c69b)
  • callbacks: fix tensorboard graph/image display (598ef5a)
  • callbacks: import early stopping (d097f89)
  • callbacks: remove tensorboard graph (b3ed308)
  • cli: create dataloaders just for warming up for better progress reporting (bf77bb7)
  • cli: disable persistent workers if no workers are used (8ff3170)
  • cli: use consume to warm up the datasets (4a302ef)
  • config: allow for no preprocessing (5df3bfc)
  • config: change DirectoryPath to str for yet-to-be directories (b096dbf)
  • config: fix arg name cannot start with underscore (9745aa3)
  • config: make args default to empty (3ddb895)
  • config: validate paths without checking their existence (397bad0)
  • dataset: add missing y label to yielded element (cb98631)
  • dataset: add randomization of dataset at each epoch (7842a32)
  • dataset: allow float32 images (755c1a2)
  • dataset: apply color and channel transposion (3e9f853)
  • dataset: force gc collection if not loaded from cache (45e1353)
  • dataset: make face detection offline (8c97c30)
  • dataset: remove offline processing when not warming up (eb6ae71)
  • dataset: remove warmup function and instead use boolean flag (28b42de)
  • dataset: skip elements if face detection or feature extraction fails (d67702c)
  • dataset: use specialized list to avoid memory leaks (cd3b3ac)
  • deps: update dependency matplotlib to v3.6.1 (429ca2e)
  • deps: update dependency numpy to v1.23.4 (70ab22f)
  • deps: update dependency scikit-learn to v1.1.3 (cfc8a7e)
  • deps: update dependency scipy to v1.9.2 (7c84265)
  • deps: update dependency scipy to v1.9.3 (5b49637)
  • face-detection: clip bounding box inside image (cfadaca)
  • face-detection: fix numpy arrays not json serializable (714ef60)
  • face-detection: take biggest bounding box for opencv/mtcnn multiple results (8d96535)
  • loaders: make amsl loader deterministic (5e8b92f)
  • metrics: adapt bpcer@apcer to be more lax (2374786)
  • metrics: add conditional to remove nan cases (5158c87)
  • metrics: improve display of accuracy and bpcer@apcer (4a68287)
  • metrics: use abstract property for name (acad600)
  • model: add list case to _dict_to_device and fix prediction scores accumulation (a8f6c47)
  • model: add missing definition of resnet model if pretrained (ef090a7)
  • model: apply sigmoid to logits output, remove cumulative loss (5b3b2d6)
  • model: change scores file format (6bc5b9d)
  • model: fix epoch loading from state dict (c32ee11)
  • model: import neural nets module for registration (08fc220)
  • model: load metrics from model constructor (445cdff)
  • model: move metrics reset outside batch processing (bbfbb68)
  • model: move predictions to correct device when computing metrics (8f5df94)
  • nn: don't load callbacks if not training (c6879b2)
  • preprocessing: add interpolation to resize (7ee7580)
  • preprocessing: redo args validation for normalize (db7e546)
  • registry: fix bug when loading class with args (365d942)
  • registry: move args sanitization to config (a690b80)
  • use more accurate way of counting steps in data loader (c726320)