All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Added support for multi-label, space delimited, targets (#1076)
- Changed
Wav2Vec2ProcessortoAutoProcessorand seperate it from backbone [optional] (#1075)
-
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)
- 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)
- 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)
- 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)
- 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)
- 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)
- Added a
TabularForecastertask based on PyTorch Forecasting (#647) - Added a
TabularRegressortask (#892)
- 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)
- 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)
- Changed the default
num_workerson linux to0(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 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)
- 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)
- 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)
- 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)
- 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)
- Split
backboneargument toSemanticSegmentationintobackboneandheadarguments (#412)
- Fixed a bug where the
DefaultDataKeys.METADATAcouldn't be a dict (#393) - Fixed a bug where the
SemanticSegmentationtask would not work as expected with finetuning callbacks (#412) - Fixed a bug where predict batches could not be visualized with
ImageClassificationData(#438)
- Fixed a bug where
flash.Trainer.from_argparse_args+finetunewould not work (#382)
- Added
deeplabv3,lraspp, andunetbackbones for theSemanticSegmentationtask (#370)
- Changed the installation command for extra features (#346)
- Change resize interpolation default mode to nearest (#352)
- Deprecated
SemanticSegmentationbackbone namestorchvision/fcn_resnet50andtorchvision/fcn_resnet101, usefc_resnet50andfcn_resnet101instead (#370)
- 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)
- 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)
- Rename valid_ to val_ (#197)
- Refactor preprocess_cls to preprocess, add Serializer, add DataPipelineState (#229)
- Fix DataPipeline resolution in Task (#212)
- Fixed a bug where the backbone used in summarization was not correctly passed to the postprocess (#296)
- Added TIMM integration as backbones (#196)
- Fixed nltk.download (#210)
-
Switch to use
torchmetrics(#169) -
Better support for
optimizerandschedulers(#232) -
Update lightning version to v1.2 (#133)
-
Fixed classification softmax (#169)
-
Fixed a bug where loading from a local checkpoint that had
pretrained=Truewithout an internet connection would sometimes raise an error (#237) -
Don't download data if exists (#157)
- Added
RetinaNet&backbonestoObjectDetectorTask (#121) - Added .csv image loading utils (#116, #117, #118)
- Set inputs as optional (#109)
- Added
ObjectDetectorTask (#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)
- Applied transform in
FilePathDataset(#97) - Moved classification integration from vision root to folder (#86)