Skip to content
This repository has been archived by the owner on Oct 9, 2023. It is now read-only.

Releases: Lightning-Universe/lightning-flash

Feature Preview

04 Feb 20:41
450902d
Compare
Choose a tag to compare
Feature Preview Pre-release
Pre-release

Preview for 0.7.0

Data Overhaul

13 Dec 17:52
99dfea9
Compare
Choose a tag to compare

[0.6.0] - 2021-12-13

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)

Contributors

@abhijithneilabraham @Actis92 @alexheat @ananyahjha93 @Borda @ethanwharris @flozi00 @karthikrangasai @PabloAMC @SkafteNicki @tchaton

If we forgot someone due to not matching commit email with GitHub account, let us know :]

Tabular forecasting and regression (+ bug fixes)

05 Nov 15:00
cfc9f8d
Compare
Choose a tag to compare

[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)

Contributors

@aniketmaurya @awaelchli @Borda @Dref360 @ethanwharris @pietrolesci @sumanmichael @twsl

If we forgot someone due to not matching commit email with GitHub account, let us know :]

Label Studio, Learn2Learn, VISSL, FastFace, and more

26 Oct 18:04
78faff0
Compare
Choose a tag to compare

[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)

New Contributors

PR List

Feature Preview

11 Oct 14:07
5d0b329
Compare
Choose a tag to compare
Feature Preview Pre-release
Pre-release

Preview release for 0.5.1

New integrations, 8 new tasks, Torch ORT support, Flash Zero, and more

07 Sep 16:04
9918d59
Compare
Choose a tag to compare

[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)

Contributors

@ananyahjha93 @aniketmaurya @aribornstein @Borda @ethanwharris @flozi00 @hhsecond @hihunjin @karthikrangasai @Kinyugo @PeppeSaccardi @pmeier @SeanNaren @sumanmichael @tchaton @tszumowski

If we forgot someone due to not matching commit email with GitHub account, let us know :]

Feature preview

01 Sep 20:18
9cb151f
Compare
Choose a tag to compare
Feature preview Pre-release
Pre-release
0.5.0rc0

Bump version to 0.5.0rc0 (#717)

Flash Serve, FiftyOne Integration, Multi-label Text Classification, and JIT Support

22 Jun 11:19
2ec52e6
Compare
Choose a tag to compare

[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)

Contributors

@ehofesmann @ethanwharris @fstroth @lillekemiker @tchaton

Additional credits to @rlizzo @hhsecond @lantiga @luiscape for building the Flash Serve Engine.

If we forgot someone due to not matching commit email with GitHub account, let us know :]

Minor patch release

08 Jun 17:26
546bb0e
Compare
Choose a tag to compare

[0.3.2] - 2021-06-08

Fixed

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

More segmentation backbones and bug fixes

08 Jun 14:08
5a4d94b
Compare
Choose a tag to compare

[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

Contributors

@akihironitta @aribornstein @carmocca @deepseek-eoghan @edgarriba @ethanwharris

If we forgot someone due to not matching commit email with GitHub account, let us know :]