Skip to content

Latest commit

 

History

History
373 lines (244 loc) · 27.5 KB

CHANGELOG.md

File metadata and controls

373 lines (244 loc) · 27.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased] - YYYY-DD-MM

Added

  • Added support for multi-label, space delimited, targets (#1076)

  • Added support for tabular classification / regression backbones from PyTorch Tabular (#1098)

  • Added Flash zero support for tabular regression (#1098)

  • Added support for COCO annotations with non-default keypoint labels to KeypointDetectionData.from_coco (#1102)

  • Added support for from_csv and from_data_frame to VideoClassificationData (#1117)

Changed

  • Changed Wav2Vec2Processor to AutoProcessor and seperate it from backbone [optional] (#1075)

  • Renamed ClassificationInput to ClassificationInputMixin (#1116)

Deprecated

Fixed

  • Fixed a bug when not explicitly passing embedding_sizes to the TabularClassifier and TabularRegressor tasks (#1067)

  • Fixed a bug where under some circumstances transforms would not get called (#1072)

  • Fixed a bug where prediction would sometimes give the wrong number of outputs (#1077)

  • Fixed a bug where passing the val_split to the DataModule would not have the desired effect (#1079)

  • Fixed a bug where passing predict_data_frame to ImageClassificationData.from_data_frame raised an error (#1088)

  • Fixed a bug where segmentation files / masks were loaded with an inconsistent ordering (#1094)

  • Fixed a bug with AudioClassificationData.from_numpy (#1096)

  • Fixed a bug when using SpeechRecognitionData.from_files for training / validating / testing (#1097)

  • Fixed a bug when using SpeechRecognitionData.from_csv or from_json when predicting without targets (#1097)

  • Fixed a bug where SpeechRecognitionData.from_datasets did not work as expected (#1097)

  • Fixed a bug where loading data for prediction with SemanticSegmentationData.from_folders raised an error (#1101)

  • Fixed a bug when passing a predict_folder argument to from_coco / from_voc / from_via in IceVision tasks (#1102)

  • Fixed ObjectDetectionData.from_voc and ObjectDetectionData.from_via (#1102)

  • Fixed a bug where InstanceSegmentationData.from_coco would raise an error if not using file-based masks (#1102)

  • Fixed InstanceSegmentationData.from_voc (#1102)

  • Fixed a bug when loading tabular data for prediction without a target field / column (#1114)

  • Fixed a bug when loading prediction data for graph classification without targets (#1121)

Removed

[0.6.0] - 2021-13-12

Added

  • Added TextEmbedder task (#996)
  • Added predict_kwargs in ObjectDetector, InstanceSegmentation, KeypointDetector (#990)
  • Added backbones for GraphClassifier (#592)
  • Added GraphEmbedder task (#592)
  • Added support for comma delimited multi-label targets to the ImageClassifier (#997)
  • Added datapipeline_state on dataset creation within the from_* methods from the DataModule (#1018)

Changed

  • Changed DataSource to Input (#929)
  • Changed Preprocess to InputTransform (#951)
  • Changed classes named *Serializer and properties / variables named serializer to be *Output and output respectively (#927)
  • Changed Postprocess to OutputTransform (#942)
  • Changed loading of RGBA images to drop alpha channel by default (#946)
  • Updated FlashFinetuning callback to use separate hooks that lets users use the freezing logic provided out-of-the-box from flash, route FlashFinetuning through a registry. (#830)
  • Changed the SpeechRecognition task to use AutoModelForCTC rather than just Wav2Vec2ForCTC (#874)
  • Changed the Deserializer to subclass ServeInput (#1013)
  • Added Output suffix to Preds, FiftyOneDetectionLabels, SegmentationLabels, FiftyOneDetectionLabels, DetectionLabels, Classes, FiftyOneLabels, Labels, Logits, Probabilities (#1011)
  • Changed from_files and from_folders from ObjectDetectionData, InstanceSegmentationData, KeypointDetectionData to support only the predicting stage (#1018)
  • Changed Image Classification Task to use the new DataModule API (#1025)

Deprecated

  • Deprecated flash.core.data.process.Serializer in favour of flash.core.data.io.output.Output (#927)
  • Deprecated Task.serializer in favour of Task.output (#927)
  • Deprecated flash.text.seq2seq.core.metrics in favour of torchmetrics[text] (#648)
  • Deprecated flash.core.data.data_source.DefaultDataKeys in favour of flash.DataKeys (#929)
  • Deprecated data_source argument to flash.Task.predict in favour of input (#929)

Fixed

  • Fixed a bug where using image classification with DDP spawn would trigger an infinite recursion (#969)
  • Fixed a bug where Flash could not be used with IceVision 0.11.0 (#989)
  • Fixed a bug where backbone weights were sometimes not frozen correctly (#992)
  • Fixed a bug where translation metrics were not computed correctly (#992)
  • Fixed a bug where additional DataModule keyword arguments could not be configured with Flash Zero for some tasks (#994)
  • Fixed a bug where the TabularForecaster would not work with some versions of pandas (#995)

Removed

  • Removed OutputMapping (#939)
  • Removed Output.enable and Output.disable (#939)
  • Removed OutputTransform.save_sample and save_data hooks (#948)
  • Removed InputTransform pre_tensor_transform, to_tensor_transform, post_tensor_transform hooks in favour of per_sample_transform (#1010)
  • Removed Task.predict, use Trainer.predict instead (#1030)
  • Removed the backbone argument from TextClassificationData, it is now sufficient to only provide a backbone argument to the TextClassifier (#1022)
  • Removed support for the serve_sanity_check argument in flash.Trainer (#1062)

[0.5.2] - 2021-11-05

Added

  • Added a TabularForecaster task based on PyTorch Forecasting (#647)
  • Added a TabularRegressor task (#892)

Fixed

  • Fixed a bug where test metrics were not logged correctly with active learning (#879)
  • Fixed a bug where validation metrics could be aggregated together with test metrics in some cases (#900)
  • Fixed a bug where the latest versions of torchmetrics and Lightning Flash could not be installed together (#902)
  • Fixed compatibility with PyTorch-Lightning 1.5 (#933)

[0.5.1] - 2021-10-26

Added

  • Added LabelStudio integration (#554)
  • Added support learn2learn training_strategy for ImageClassifier (#737)
  • Added vissl training_strategies for ImageEmbedder (#682)
  • Added support for from_data_frame to TextClassificationData (#785)
  • Added FastFace integration (#606)
  • Added support for from_lists to TextClassificationData (#805)

Changed

  • Changed the default num_workers on linux to 0 (matching the default for other OS) (#759)
  • Optimizer and LR Scheduler registry are used to get the respective inputs to the Task using a string (or a callable). (#777)

Fixed

  • Fixed a bug where additional kwargs (e.g. sampler) passed to tabular data would be ignored (#792)
  • Fixed a bug where loading text data with additional non-numeric columns (not input or target) would give an error (#888)

[0.5.0] - 2021-09-07

Added

  • Added support for (input, target) style datasets (e.g. torchvision) to the from_datasets method (#552)
  • Added support for from_csv and from_data_frame to ImageClassificationData (#556)
  • Added SimCLR, SwAV, Barlow-twins pretrained weights for resnet50 backbone in ImageClassifier task (#560)
  • Added support for Semantic Segmentation backbones and heads from segmentation-models.pytorch (#562)
  • Added support for nesting of Task objects (#575)
  • Added PointCloudSegmentation Task (#566)
  • Added PointCloudObjectDetection Task (#600)
  • Added a GraphClassifier task (#73)
  • Added the option to pass pretrained as a string to SemanticSegmentation to change pretrained weights to load from segmentation-models.pytorch (#587)
  • Added support for field parameter for loadng JSON based datasets in text tasks. (#585)
  • Added AudioClassificationData and an example for classifying audio spectrograms (#594)
  • Added a SpeechRecognition task for speech to text using Wav2Vec (#586)
  • Added Flash Zero, a zero code command line ML platform built with flash (#611)
  • Added support for .npy and .npz files to ImageClassificationData and AudioClassificationData (#651)
  • Added support for from_csv to the AudioClassificationData (#651)
  • Added option to pass a resolver to the from_csv and from_pandas methods of ImageClassificationData, which is used to resolve filenames given IDs (#651)
  • Added integration with IceVision for the ObjectDetector (#608)
  • Added keypoint detection task (#608)
  • Added instance segmentation task (#608)
  • Added Torch ORT support to Transformer based tasks (#667)
  • Added support for flash zero with the InstanceSegmentation and KeypointDetector tasks (#672)
  • Added support for in_chans argument to the flash ResNet to control the expected number of input channels (#673)
  • Added a QuestionAnswering task for extractive question answering (#607)
  • Added automatic unwrapping of IceVision prediction objects (#727)
  • Added support for the ObjectDetector with FiftyOne (#727)
  • Added support for MP3 files to the SpeechRecognition task with librosa (#726)
  • Added support for from_numpy and from_tensors to AudioClassificationData (#745)

Changed

  • Changed how pretrained flag works for loading weights for ImageClassifier task (#560)
  • Removed bolts pretrained weights for SSL from ImageClassifier task (#560)
  • Changed the behaviour of the sampler argument of the DataModule to take a Sampler type rather than instantiated object (#651)
  • Changed arguments to ObjectDetector, use head instead of model and append _fpn to the backbone name instead of the fpn argument (#608)

Fixed

  • Fixed a bug where serve sanity checking would not be triggered using the latest PyTorchLightning version (#493)
  • Fixed a bug where train and validation metrics weren't being correctly computed (#559)
  • Fixed a bug where an uncaught ValueError could be raised when checking if a module is available (#615)
  • Fixed a bug where some tasks were not compatible with PyTorch 1.7 due to use of torch.jit.isinstance (#611)
  • Fixed a bug where custom samplers would not be properly forwarded to the data loader (#651)
  • Fixed a bug where it was not possible to pass no metrics to the ImageClassifier or TestClassifier (#660)
  • Fixed a bug where drop_last would be set to True during prediction and testing (#671)
  • Fixed a bug where flash was not compatible with pytorch-lightning >= 1.4.3 (#690)

[0.4.0] - 2021-06-22

Added

  • Added integration with FiftyOne (#360)
  • Added flash.serve (#399)
  • Added support for torch.jit to tasks where possible and documented task JIT compatibility (#389)
  • Added option to provide a Sampler to the DataModule to use when creating a DataLoader (#390)
  • Added support for multi-label text classification and toxic comments example (#401)
  • Added a sanity checking feature to flash.serve (#423)

Changed

  • Split backbone argument to SemanticSegmentation into backbone and head arguments (#412)

Fixed

  • Fixed a bug where the DefaultDataKeys.METADATA couldn't be a dict (#393)
  • Fixed a bug where the SemanticSegmentation task would not work as expected with finetuning callbacks (#412)
  • Fixed a bug where predict batches could not be visualized with ImageClassificationData (#438)

[0.3.2] - 2021-06-08

Fixed

  • Fixed a bug where flash.Trainer.from_argparse_args + finetune would not work (#382)

[0.3.1] - 2021-06-08

Added

  • Added deeplabv3, lraspp, and unet backbones for the SemanticSegmentation task (#370)

Changed

  • Changed the installation command for extra features (#346)
  • Change resize interpolation default mode to nearest (#352)

Deprecated

  • Deprecated SemanticSegmentation backbone names torchvision/fcn_resnet50 and torchvision/fcn_resnet101, use fc_resnet50 and fcn_resnet101 instead (#370)

Fixed

  • Fixed flash.Trainer.add_argparse_args not adding any arguments (#343)
  • Fixed a bug where the translation task wasn't decoding tokens properly (#332)
  • Fixed a bug where huggingface tokenizers were sometimes being pickled (#332)
  • Fixed issue with KorniaParallelTransforms to assure to share the random state between transforms (#351)
  • Fixed a bug where using val_split with overfit_batches would give an infinite recursion (#375)
  • Fixed a bug where some timm models were mistakenly given a global_pool argument (#377)
  • Fixed flash.Trainer.from_argparse_args not passing arguments correctly (#380)

[0.3.0] - 2021-05-20

Added

  • Added DataPipeline API (#188 #141 #207)
  • Added timm integration (#196)
  • Added BaseViz Callback (#201)
  • Added backbone API (#204)
  • Added support for Iterable auto dataset (#227)
  • Added multi label support (#230)
  • Added support for schedulers (#232)
  • Added visualisation callback for image classification (#228)
  • Added Video Classification task (#216)
  • Added Dino backbone for image classification (#259)
  • Added Data Sources API (#256 #264 #272)
  • Refactor preprocess_cls to preprocess, add Serializer, add DataPipelineState (#229)
  • Added Semantic Segmentation task (#239 #287 #290)
  • Added Object detection prediction example (#283)
  • Added Style Transfer task and accompanying finetuning and prediction examples (#262)
  • Added a Template task and tutorials showing how to contribute a task to flash (#306)

Changed

  • Rename valid_ to val_ (#197)
  • Refactor preprocess_cls to preprocess, add Serializer, add DataPipelineState (#229)

Fixed

  • Fix DataPipeline resolution in Task (#212)
  • Fixed a bug where the backbone used in summarization was not correctly passed to the postprocess (#296)

[0.2.3] - 2021-04-17

Added

  • Added TIMM integration as backbones (#196)

Fixed

  • Fixed nltk.download (#210)

[0.2.2] - 2021-04-05

Changed

  • Switch to use torchmetrics (#169)

  • Better support for optimizer and schedulers (#232)

  • Update lightning version to v1.2 (#133)

Fixed

  • Fixed classification softmax (#169)

  • Fixed a bug where loading from a local checkpoint that had pretrained=True without an internet connection would sometimes raise an error (#237)

  • Don't download data if exists (#157)

[0.2.1] - 2021-3-06

Added

  • Added RetinaNet & backbones to ObjectDetector Task (#121)
  • Added .csv image loading utils (#116, #117, #118)

Changed

  • Set inputs as optional (#109)

Fixed

  • Set minimal requirements (#62)
  • Fixed VGG backbone num_features (#154)

[0.2.0] - 2021-02-12

Added

  • Added ObjectDetector Task (#56)
  • Added TabNet for tabular classification (#101)
  • Added support for more backbones(mobilnet, vgg, densenet, resnext) (#45)
  • Added backbones for image embedding model (#63)
  • Added SWAV and SimCLR models to imageclassifier + backbone reorg (#68)

Changed

  • Applied transform in FilePathDataset (#97)
  • Moved classification integration from vision root to folder (#86)

Fixed

  • Unfreeze default number of workers in datamodule (#57)
  • Fixed wrong label in FilePathDataset (#94)

Removed

  • Removed densenet161 duplicate in DENSENET_MODELS (#76)
  • Removed redundant num_features arg from Classification model (#88)

[0.1.0] - 2021-02-02

Added

  • Added flash_notebook examples (#9)
  • Added strategy to trainer.finetune with NoFreeze, Freeze, FreezeUnfreeze, UnfreezeMilestones Callbacks(#39)
  • Added SummarizationData, SummarizationTask and TranslationData, TranslationTask (#37)
  • Added ImageEmbedder (#36)