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¶
[0.8.2] - 2023-06-30¶
[0.8.2] - Changed¶
Added GATE backbone for Tabular integrations (#1559)
[0.8.2] - Fixed¶
[0.8.1] - 2022-11-08¶
[0.8.1] - Added¶
Added support for CLIP backbones to the
TextClassifierandImageClassifiertasks (#1458)
[0.8.1] - Fixed¶
[0.8.0] - 2022-09-02¶
[0.8.0] - Added¶
Added support for
from_tensorsforVideoClassification(#1389)Added fine-tuning strategies for DeepSpeed (with parameter loading and storing omitted) (#1377)
Added
torchvisionas a requirement todatatype_audio.txtas it’s used for Audio Classification (#1425)Added
figsizeandlimit_nb_samplesfor showing batch images (#1381)Added support for
from_listsfor Tabular Classification and Regression (#1337)Added support for
from_dictsfor Tabular Classification and Regression (#1331)Added support for using the
ImageEmbedderSSL 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
ImageClassificationDatafrom PIL images withfrom_images(#1372)Added support for loading
ObjectDetectionDatawithfrom_numpy,from_images, andfrom_tensors(#1372)Added support for remote data loading with fsspec (#1387)
Added support for TSV files to
from_csvmethods (#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¶
[0.8.0] - Removed¶
Removed support for audio files with
sd2extension, 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-flashwithlearn2learn(#1376)Fixed JIT tracing tests where the model class was not attached to the
Trainerclass (#1410)Fixed examples for BaaL integration by removing usage of
on_<stage>_dataloaderhooks (removed in PL 1.7.0) (#1410)Fixed examples for BaaL integration for the case when
probabilitieslist is empty (#1410)Fixed a bug where collate functions were not being attached successfully after the
DataLoaderis 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_batchfor 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
TabularClassifierorTabularRegressorcheckpoint could not be served (#1324)Fixed a bug where the
freeze_unfreezeandunfreeze_milestonesfinetuning strategies could not be used in tandem with aonecyclelrLR scheduler (#1329)Fixed a bug where the backbone learning rate would be divided by 10 when unfrozen if using the
freeze_unfreezeorunfreeze_milestonesstrategies (#1329)Fixed naming of optimizer and scheduler registries which did not allow manual optimization. (#1342)
Fixed a bug where the
processor_backboneargument toSpeechRecognitionwas not used for decoding outputs (#1362)Fixed a bug where
.npyfiles could not be used withSemanticSegmentationData(#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, andKeypointDetectorwould error with the latest version of some requirements (#1306)Fixed plain
LightningModulesupport 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, andKeypointDetector(#1267)Fixed a bug where the backbone would not be frozen when finetuning the
SpeechRecognitiontask (#1275)Fixed a bug where the backbone would not be frozen when finetuning the
QuestionAnsweringtask with certain model types (#1275)
[0.7.2] - 2022-03-30¶
[0.7.2] - Fixed¶
Fixed examples (question answering), where NLTK’s
punktmodule needs to be downloaded first. (#1215)Fixed normalizing inputs to video classification (#1213)
Fixed a bug where
pretraining_transformsin theImageEmbedderwas never called. (1196)Fixed a bug where
BASE_MODEL_NAMEwas 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, andKeypointDetector(#1222)Fixed a bug where
InstanceSegmentationwould 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
ImageEmbedderclass. (#1217)Fixed a bug where
ObjectDetector,InstanceSegmentation, andKeypointDetectorwould log train and validation metrics with the same name (#1252)Fixed a bug where using
ReduceLROnPlateauwould 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¶
[0.7.1] - Fixed¶
[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_csvandfrom_data_frametoVideoClassificationData(#1117)Added support for
SemanticSegmentationData.from_folderswhere mask files have different extensions to the image files (#1130)Added
FlashRegistryof Available Heads forflash.image.ImageClassifier(#1152)Added support for
ObjectDetectionData.from_files(#1154)Added support for passing the
Outputobject (or a string e.g."labels") to theflash.Trainer.predictmethod (#1157)Added support for passing the
TargetFormatterobject tofrom_*methods for classification to override target handling (#1171)
[0.7.0] - Changed¶
[0.7.0] - Fixed¶
Fixed a bug when not explicitly passing
embedding_sizesto theTabularClassifierandTabularRegressortasks (#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_splitto theDataModulewould not have the desired effect (#1079)Fixed a bug where passing
predict_data_frametoImageClassificationData.from_data_frameraised 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_filesfor training / validating / testing (#1097)Fixed a bug when using
SpeechRecognitionData.from_csvorfrom_jsonwhen predicting without targets (#1097)Fixed a bug where
SpeechRecognitionData.from_datasetsdid not work as expected (#1097)Fixed a bug where loading data for prediction with
SemanticSegmentationData.from_foldersraised an error (#1101)Fixed a bug when passing a
predict_folderargument tofrom_coco/from_voc/from_viain IceVision tasks (#1102)Fixed
ObjectDetectionData.from_vocandObjectDetectionData.from_via(#1102)Fixed a bug where
InstanceSegmentationData.from_cocowould 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_fiftyoneclassmethods did not work correctly with apredict_dataset(#1136)Fixed a bug where the
labelsproperty would returnNonewhen usingObjectDetectionData.from_fiftyone(#1136)Fixed a bug where
TabularDatawould not work correctly with no categorical variables (#1144)Fixed a bug where loading
TabularForecastingDatafor prediction would only yield a single sample per series (#1149)Fixed a bug where backbones for the
ObjectDetector,KeypointDetector, andInstanceSegmentationtasks were not always frozen correctly when finetuning (#1163)Fixed a bug where
DataModule.multi_labelwould sometimes beNonewhen it had been inferred to beFalse(#1165)
[0.7.0] - Removed¶
[0.6.0] - 2021-12-13¶
[0.6.0] - Added¶
Added
TextEmbeddertask (#996)Added predict_kwargs in
ObjectDetector,InstanceSegmentation,KeypointDetector(#990)Added backbones for
GraphClassifier(#592)Added
GraphEmbeddertask (#592)Added support for comma delimited multi-label targets to the
ImageClassifier(#997)Added
datapipeline_stateon dataset creation within thefrom_*methods from theDataModule(#1018)
[0.6.0] - Changed¶
Changed
DataSourcetoInput(#929)Changed
PreprocesstoInputTransform(#951)Changed classes named
*Serializerand properties / variables namedserializerto be*Outputandoutputrespectively (#927)Changed
PostprocesstoOutputTransform(#942)Changed loading of RGBA images to drop alpha channel by default (#946)
Updated
FlashFinetuningcallback 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
SpeechRecognitiontask to useAutoModelForCTCrather than justWav2Vec2ForCTC(#874)Changed the
Deserializerto subclassServeInput(#1013)Added
Outputsuffix toPreds,FiftyOneDetectionLabels,SegmentationLabels,FiftyOneDetectionLabels,DetectionLabels,Classes,FiftyOneLabels,Labels,Logits,Probabilities(#1011)Changed
from_filesandfrom_foldersfromObjectDetectionData,InstanceSegmentationData,KeypointDetectionDatato support only thepredictingstage (#1018)Changed
Image Classification Taskto use the new DataModule API (#1025)
[0.6.0] - Deprecated¶
Deprecated
flash.core.data.process.Serializerin favour offlash.core.data.io.output.Output(#927)Deprecated
Task.serializerin favour ofTask.output(#927)Deprecated
flash.text.seq2seq.core.metricsin favour oftorchmetrics[text](#648)Deprecated
flash.core.data.data_source.DefaultDataKeysin favour offlash.DataKeys(#929)Deprecated
data_sourceargument toflash.Task.predictin favour ofinput(#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
DataModulekeyword 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.enableandOutput.disable(#939)Removed
OutputTransform.save_sampleandsave_datahooks (#948)Removed InputTransform
pre_tensor_transform,to_tensor_transform,post_tensor_transformhooks in favour ofper_sample_transform(#1010)Removed
Task.predict, useTrainer.predictinstead (#1030)Removed the
backboneargument fromTextClassificationData, it is now sufficient to only provide abackboneargument to theTextClassifier(#1022)Removed support for the
serve_sanity_checkargument inflash.Trainer(#1062)
[0.5.2] - 2021-11-05¶
[0.5.2] - Added¶
[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
LabelStudiointegration (#554)Added support
learn2learntraining_strategy forImageClassifier(#737)Added
vissltraining_strategies forImageEmbedder(#682)Added support for
from_data_frametoTextClassificationData(#785)Added
FastFaceintegration (#606)Added support for
from_liststoTextClassificationData(#805)
[0.5.1] - Changed¶
[0.5.1] - Fixed¶
[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_csvandfrom_data_frametoImageClassificationData(#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
Taskobjects (#575)Added
PointCloudSegmentationTask (#566)Added
PointCloudObjectDetectionTask (#600)Added a
GraphClassifiertask (#73)Added the option to pass
pretrainedas a string toSemanticSegmentationto change pretrained weights to load fromsegmentation-models.pytorch(#587)Added support for
fieldparameter for loadng JSON based datasets in text tasks. (#585)Added
AudioClassificationDataand an example for classifying audio spectrograms (#594)Added a
SpeechRecognitiontask for speech to text using Wav2Vec (#586)Added Flash Zero, a zero code command line ML platform built with flash (#611)
Added support for
.npyand.npzfiles toImageClassificationDataandAudioClassificationData(#651)Added support for
from_csvto theAudioClassificationData(#651)Added option to pass a
resolverto thefrom_csvandfrom_pandasmethods ofImageClassificationData, 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
InstanceSegmentationandKeypointDetectortasks (#672)Added support for
in_chansargument to the flash ResNet to control the expected number of input channels (#673)Added a
QuestionAnsweringtask for extractive question answering (#607)Added automatic unwrapping of IceVision prediction objects (#727)
Added support for the
ObjectDetectorwith FiftyOne (#727)Added support for MP3 files to the
SpeechRecognitiontask with librosa (#726)Added support for
from_numpyandfrom_tensorstoAudioClassificationData(#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
samplerargument of theDataModuleto take aSamplertype rather than instantiated object (#651)Changed arguments to
ObjectDetector, useheadinstead ofmodeland append_fpnto the backbone name instead of thefpnargument (#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
ImageClassifierorTestClassifier(#660)Fixed a bug where
drop_lastwould 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.jitto tasks where possible and documented task JIT compatibility (#389)Added option to provide a
Samplerto theDataModuleto use when creating aDataLoader(#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
backboneargument toSemanticSegmentationintobackboneandheadarguments (#412)
[0.4.0] - Fixed¶
[0.3.2] - 2021-06-08¶
[0.3.2] - Fixed¶
Fixed a bug where
flash.Trainer.from_argparse_args+finetunewould not work (#382)
[0.3.1] - 2021-06-08¶
[0.3.1] - Added¶
Added
deeplabv3,lraspp, andunetbackbones for theSemanticSegmentationtask (#370)
[0.3.1] - Changed¶
[0.3.1] - Deprecated¶
Deprecated
SemanticSegmentationbackbone namestorchvision/fcn_resnet50andtorchvision/fcn_resnet101, usefc_resnet50andfcn_resnet101instead (#370)
[0.3.1] - Fixed¶
Fixed
flash.Trainer.add_argparse_argsnot 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
KorniaParallelTransformsto assure to share the random state between transforms (#351)Fixed a bug where using
val_splitwithoverfit_batcheswould give an infinite recursion (#375)Fixed a bug where some timm models were mistakenly given a
global_poolargument (#377)Fixed
flash.Trainer.from_argparse_argsnot passing arguments correctly (#380)
[0.3.0] - 2021-05-20¶
[0.3.0] - Added¶
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)
Refactor preprocess_cls to preprocess, add Serializer, add DataPipelineState (#229)
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¶
[0.3.0] - Fixed¶
[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¶
[0.2.2] - Fixed¶
[0.2.1] - 2021-3-06¶
[0.2.1] - Added¶
[0.2.1] - Changed¶
Set inputs as optional (#109)