Shortcuts

Changelog

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

The format is based on Keep a Changelog.

[UnReleased] - 2023-MM-DD

[UnReleased] - Added

[UnReleased] - Changed

[UnReleased] - Fixed

  • Fixed _strip for eventually int (#1667)

  • Fixed checking target_formatter as attrib type (#1665)

  • Fixed remote check in download_data (#1666)

[0.8.2] - 2023-06-30

[0.8.2] - Changed

  • Added GATE backbone for Tabular integrations (#1559)

[0.8.2] - Fixed

  • Fixed datamodule can’t load files with square brackets in names (#1501)

  • Fixed channel dim selection on segmentation target (#1509)

  • Fixed used of jsonargparse avoiding reliance on non-public internal logic (#1620)

  • Compatibility with pytorch-tabular>=1.0 (#1545)

  • Compatibility latest numpy (#1595)

[0.8.1] - 2022-11-08

[0.8.1] - Added

  • Added support for CLIP backbones to the TextClassifier and ImageClassifier tasks (#1458)

[0.8.1] - Fixed

  • Fixed compatibility with lightning==1.8.0 (#1479)

  • Fixed the error message to suggest installing icevision, if it’s not found while loading data (#1474)

  • Fixed compatibility with torchmetrics==0.10.0 (#1469)

  • Fixed type of n_gram from bool to int in TranslationTask (#1486)

[0.8.0] - 2022-09-02

[0.8.0] - Added

  • Added support for from_tensors for VideoClassification (#1389)

  • Added fine-tuning strategies for DeepSpeed (with parameter loading and storing omitted) (#1377)

  • Added torchvision as a requirement to datatype_audio.txt as it’s used for Audio Classification (#1425)

  • Added figsize and limit_nb_samples for showing batch images (#1381)

  • Added support for from_lists for Tabular Classification and Regression (#1337)

  • Added support for from_dicts for Tabular Classification and Regression (#1331)

  • Added support for using the ImageEmbedder SSL training for all image classifier backbones (#1264)

  • Added support for audio file formats to AudioClassificationData (#1085)

  • Added support for Flash serve to the ObjectDetector (#1370)

  • Added support for loading ImageClassificationData from PIL images with from_images (#1372)

  • Added support for loading ObjectDetectionData with from_numpy, from_images, and from_tensors (#1372)

  • Added support for remote data loading with fsspec (#1387)

  • Added support for TSV files to from_csv methods (#1387)

  • Added support for more formats when loading audio files (#1387)

  • Added support to use any task as an embedder by calling as_embedder (#1396)

  • Added support for normalization of images in SemanticSegmentationData (#1399)

[0.8.0] - Changed

  • Changed the ImageEmbedder dependency on VISSL to optional (#1276)

  • Changed the transforms in SemanticSegmentationData to use albumentations instead of Kornia (#1313)

[0.8.0] - Removed

  • Removed support for audio files with sd2 extension, because SoundFile (for sd2 extension) doesn’t accept fsspec objects (#1409)

[0.8.0] - Fixed

  • Fixed when suitable error not being raised for image segmentation (kornia) (#1425)

  • Fixed the script of integrating lightning-flash with learn2learn (#1376)

  • Fixed JIT tracing tests where the model class was not attached to the Trainer class (#1410)

  • Fixed examples for BaaL integration by removing usage of on_<stage>_dataloader hooks (removed in PL 1.7.0) (#1410)

  • Fixed examples for BaaL integration for the case when probabilities list is empty (#1410)

  • Fixed a bug where collate functions were not being attached successfully after the DataLoader is initialized (in PL 1.7.0 changing attributes after initialization doesn’t do anything) (#1410)

  • Fixed a bug where grayscale images were not properly converted to RGB when loaded. (#1394)

  • Fixed a bug where size of mask for instance segmentation doesn’t match to size of original image. (#1353)

  • Fixed image classification data show_train_batch for subplots with rows > 1. (#1339)

  • Fixed support for all the versions (including the latest and older) of baal (#1315)

  • Fixed a bug where a loaded TabularClassifier or TabularRegressor checkpoint could not be served (#1324)

  • Fixed a bug where the freeze_unfreeze and unfreeze_milestones finetuning strategies could not be used in tandem with a onecyclelr LR scheduler (#1329)

  • Fixed a bug where the backbone learning rate would be divided by 10 when unfrozen if using the freeze_unfreeze or unfreeze_milestones strategies (#1329)

  • Fixed naming of optimizer and scheduler registries which did not allow manual optimization. (#1342)

  • Fixed a bug where the processor_backbone argument to SpeechRecognition was not used for decoding outputs (#1362)

  • Fixed a bug where .npy files could not be used with SemanticSegmentationData (#1369)

[0.7.4] - 2022-04-27

[0.7.4] - Fixed

  • Fixed a bug where LR schedulers from HuggingFace could not be used with newer versions of PyTorch Lightning (#1307)

  • Fixed a bug where the default Flash zero configurations for ObjectDetector, InstanceSegmentation, and KeypointDetector would error with the latest version of some requirements (#1306)

  • Fixed plain LightningModule support for Flash data modules (#1281)

[0.7.3] - 2022-04-13

[0.7.3] - Fixed

  • Fixed a bug where some backbones were incorrectly listed as available for the ObjectDetector, InstanceSegmentation, and KeypointDetector (#1267)

  • Fixed a bug where the backbone would not be frozen when finetuning the SpeechRecognition task (#1275)

  • Fixed a bug where the backbone would not be frozen when finetuning the QuestionAnswering task with certain model types (#1275)

[0.7.2] - 2022-03-30

[0.7.2] - Fixed

  • Fixed examples (question answering), where NLTK’s punkt module needs to be downloaded first. (#1215)

  • Fixed normalizing inputs to video classification (#1213)

  • Fixed a bug where pretraining_transforms in the ImageEmbedder was never called. (1196)

  • Fixed a bug where BASE_MODEL_NAME was not in the dict for dino and moco strategies. (1196)

  • Fixed support for torch==1.11.0 (#1234)

  • Fixed DDP spawn support for ObjectDetector, InstanceSegmentation, and KeypointDetector (#1222)

  • Fixed a bug where InstanceSegmentation would fail if samples had an inconsistent number of bboxes, labels, and masks (these will now be treated as negative samples) (#1222)

  • Fixed a bug where collate functions were never called in the ImageEmbedder class. (#1217)

  • Fixed a bug where ObjectDetector, InstanceSegmentation, and KeypointDetector would log train and validation metrics with the same name (#1252)

  • Fixed a bug where using ReduceLROnPlateau would raise an error (#1251)

  • Fixed GPU support for self-supervised training with the ImageEmbedder (#1256)

[0.7.1] - 2022-03-01

[0.7.1] - Added

  • Added the normalization parameters of torchvision.transforms.Normalize as transform_kwargs in the ImageClassificationInputTransform (#1178)

  • Added available_outputs method to the Task (#1206)

[0.7.1] - Fixed

  • Fixed a bug where DDP would not work with Flash tasks (#1182)

  • Fixed DDP support for VideoClassifier (#1189)

  • Fixed a bug where buffers in loss functions were not correctly registered in the Task (#1203)

  • Fixed support for passing a sampler instance to from_* methods / the DataModule (#1204)

[0.7.0] - 2022-02-15

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

  • Added support for SemanticSegmentationData.from_folders where mask files have different extensions to the image files (#1130)

  • Added FlashRegistry of Available Heads for flash.image.ImageClassifier (#1152)

  • Added support for ObjectDetectionData.from_files (#1154)

  • Added support for passing the Output object (or a string e.g. "labels") to the flash.Trainer.predict method (#1157)

  • Added support for passing the TargetFormatter object to from_* methods for classification to override target handling (#1171)

[0.7.0] - Changed

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

  • Renamed ClassificationInput to ClassificationInputMixin (#1116)

  • Changed the default learning_rate for all tasks to be None, corresponding to the default for your chosen optimizer (#1172)

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

  • Fixed a bug where loading Seq2Seq data for prediction would not work if the target field was not present (#1128)

  • Fixed a bug where from_fiftyone classmethods did not work correctly with a predict_dataset (#1136)

  • Fixed a bug where the labels property would return None when using ObjectDetectionData.from_fiftyone (#1136)

  • Fixed a bug where TabularData would not work correctly with no categorical variables (#1144)

  • Fixed a bug where loading TabularForecastingData for prediction would only yield a single sample per series (#1149)

  • Fixed a bug where backbones for the ObjectDetector, KeypointDetector, and InstanceSegmentation tasks were not always frozen correctly when finetuning (#1163)

  • Fixed a bug where DataModule.multi_label would sometimes be None when it had been inferred to be False (#1165)

[0.7.0] - Removed

  • Removed the Seq2SeqData base class (use TranslationData or SummarizationData directly) (#1128)

  • Removed the ability to attach the Output object directly to the model (#1157)

[0.6.0] - 2021-12-13

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

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

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

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

[0.6.0] - 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

[0.5.2] - Added

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

  • Added a TabularRegressor task (#892)

[0.5.2] - 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

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

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

[0.5.1] - 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

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

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

[0.5.0] - 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

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

[0.4.0] - Changed

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

[0.4.0] - 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

[0.3.2] - Fixed

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

[0.3.1] - 2021-06-08

[0.3.1] - Added

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

[0.3.1] - Changed

  • Changed the installation command for extra features (#346)

  • Change resize interpolation default mode to nearest (#352)

[0.3.1] - Deprecated

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

[0.3.1] - 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

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

[0.3.0] - Changed

  • Rename valid_ to val_ (#197)

  • Refactor preprocess_cls to preprocess, add Serializer, add DataPipelineState (#229)

[0.3.0] - 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

[0.2.3] - Added

  • Added TIMM integration as backbones (#196)

[0.2.3] - Fixed

  • Fixed nltk.download (#210)

[0.2.2] - 2021-04-05

[0.2.2] - Changed

  • Switch to use torchmetrics (#169)

  • Better support for optimizer and schedulers (#232)

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

[0.2.2] - 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

[0.2.1] - Added

  • Added RetinaNet & backbones to ObjectDetector Task (#121)

  • Added .csv image loading utils (#116, #117, #118)

[0.2.1] - Changed

  • Set inputs as optional (#109)

[0.2.1] - Fixed

  • Set minimal requirements (#62)

  • Fixed VGG backbone num_features (#154)

[0.2.0] - 2021-02-12

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

[0.2.0] - Changed

  • Applied transform in FilePathDataset (#97)

  • Moved classification integration from vision root to folder (#86)

[0.2.0] - Fixed

  • Unfreeze default number of workers in datamodule (#57)

  • Fixed wrong label in FilePathDataset (#94)

[0.2.0] - Removed

  • Removed densenet161 duplicate in DENSENET_MODELS (#76)

  • Removed redundant num_features arg from Classification model (#88)

[0.1.0] - 2021-02-02

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

Read the Docs v: latest
Versions
latest
stable
0.8.2
0.8.1.post0
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0post1
Downloads
html
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.