Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[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
TextClassifier
andImageClassifier
tasks (#1458)
[0.8.1] - Fixed¶
[0.8.0] - 2022-09-02¶
[0.8.0] - Added¶
Added support for
from_tensors
forVideoClassification
(#1389)Added fine-tuning strategies for DeepSpeed (with parameter loading and storing omitted) (#1377)
Added
torchvision
as a requirement todatatype_audio.txt
as it’s used for Audio Classification (#1425)Added
figsize
andlimit_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 withfrom_images
(#1372)Added support for loading
ObjectDetectionData
withfrom_numpy
,from_images
, andfrom_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¶
[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
withlearn2learn
(#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
orTabularRegressor
checkpoint could not be served (#1324)Fixed a bug where the
freeze_unfreeze
andunfreeze_milestones
finetuning strategies could not be used in tandem with aonecyclelr
LR scheduler (#1329)Fixed a bug where the backbone learning rate would be divided by 10 when unfrozen if using the
freeze_unfreeze
orunfreeze_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 toSpeechRecognition
was not used for decoding outputs (#1362)Fixed a bug where
.npy
files 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
, andKeypointDetector
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
, andKeypointDetector
(#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 theImageEmbedder
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
, andKeypointDetector
(#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
, andKeypointDetector
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¶
[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_csv
andfrom_data_frame
toVideoClassificationData
(#1117)Added support for
SemanticSegmentationData.from_folders
where mask files have different extensions to the image files (#1130)Added
FlashRegistry
of Available Heads forflash.image.ImageClassifier
(#1152)Added support for
ObjectDetectionData.from_files
(#1154)Added support for passing the
Output
object (or a string e.g."labels"
) to theflash.Trainer.predict
method (#1157)Added support for passing the
TargetFormatter
object 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_sizes
to theTabularClassifier
andTabularRegressor
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 theDataModule
would not have the desired effect (#1079)Fixed a bug where passing
predict_data_frame
toImageClassificationData.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
orfrom_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 tofrom_coco
/from_voc
/from_via
in IceVision tasks (#1102)Fixed
ObjectDetectionData.from_voc
andObjectDetectionData.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 apredict_dataset
(#1136)Fixed a bug where the
labels
property would returnNone
when usingObjectDetectionData.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
, andInstanceSegmentation
tasks were not always frozen correctly when finetuning (#1163)Fixed a bug where
DataModule.multi_label
would sometimes beNone
when it had been inferred to beFalse
(#1165)
[0.7.0] - Removed¶
[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 thefrom_*
methods from theDataModule
(#1018)
[0.6.0] - Changed¶
Changed
DataSource
toInput
(#929)Changed
Preprocess
toInputTransform
(#951)Changed classes named
*Serializer
and properties / variables namedserializer
to be*Output
andoutput
respectively (#927)Changed
Postprocess
toOutputTransform
(#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 useAutoModelForCTC
rather than justWav2Vec2ForCTC
(#874)Changed the
Deserializer
to subclassServeInput
(#1013)Added
Output
suffix toPreds
,FiftyOneDetectionLabels
,SegmentationLabels
,FiftyOneDetectionLabels
,DetectionLabels
,Classes
,FiftyOneLabels
,Labels
,Logits
,Probabilities
(#1011)Changed
from_files
andfrom_folders
fromObjectDetectionData
,InstanceSegmentationData
,KeypointDetectionData
to support only thepredicting
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 offlash.core.data.io.output.Output
(#927)Deprecated
Task.serializer
in favour ofTask.output
(#927)Deprecated
flash.text.seq2seq.core.metrics
in favour oftorchmetrics[text]
(#648)Deprecated
flash.core.data.data_source.DefaultDataKeys
in favour offlash.DataKeys
(#929)Deprecated
data_source
argument toflash.Task.predict
in 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
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
andOutput.disable
(#939)Removed
OutputTransform.save_sample
andsave_data
hooks (#948)Removed InputTransform
pre_tensor_transform
,to_tensor_transform
,post_tensor_transform
hooks in favour ofper_sample_transform
(#1010)Removed
Task.predict
, useTrainer.predict
instead (#1030)Removed the
backbone
argument fromTextClassificationData
, it is now sufficient to only provide abackbone
argument to theTextClassifier
(#1022)Removed support for the
serve_sanity_check
argument 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
LabelStudio
integration (#554)Added support
learn2learn
training_strategy forImageClassifier
(#737)Added
vissl
training_strategies forImageEmbedder
(#682)Added support for
from_data_frame
toTextClassificationData
(#785)Added
FastFace
integration (#606)Added support for
from_lists
toTextClassificationData
(#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_csv
andfrom_data_frame
toImageClassificationData
(#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 toSemanticSegmentation
to change pretrained weights to load fromsegmentation-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 toImageClassificationData
andAudioClassificationData
(#651)Added support for
from_csv
to theAudioClassificationData
(#651)Added option to pass a
resolver
to thefrom_csv
andfrom_pandas
methods 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
InstanceSegmentation
andKeypointDetector
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
andfrom_tensors
toAudioClassificationData
(#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 theDataModule
to take aSampler
type rather than instantiated object (#651)Changed arguments to
ObjectDetector
, usehead
instead ofmodel
and append_fpn
to the backbone name instead of thefpn
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
orTestClassifier
(#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 theDataModule
to 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
backbone
argument toSemanticSegmentation
intobackbone
andhead
arguments (#412)
[0.4.0] - Fixed¶
[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
, andunet
backbones for theSemanticSegmentation
task (#370)
[0.3.1] - Changed¶
[0.3.1] - Deprecated¶
Deprecated
SemanticSegmentation
backbone namestorchvision/fcn_resnet50
andtorchvision/fcn_resnet101
, usefc_resnet50
andfcn_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
withoverfit_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 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)