Cannot create a dataset using the code in notebooks/from-zero-to-hero-tutorial/03_benchmarks.ipynb and the classification dataset cannot switch between train and eval transforms #1648
🐛 Describe the bug
Bug 1: as_classification_dataset is given 2 arguments in the notebook, but according to the function definition, only one should be provided. transform_groups is not a valid input.
Bug 2: even if we give both train and evaltransform_groups to an Avalanche dataset, we can't switch between train/eval transform in that dataset.
Approach using make_classification_dataset runs, but the functionality of switching between transform groups doesn't work (Bug 2)
Approach calling as_classification_dataset followed by .replace_current_transform_group(transform_groups) doesn't properly wraps the dataset and when enumerating train_MNIST the examples are PIL.Images.
Approach calling AvalancheDataset followed by as_classification_dataset gives a DeprecationWarning
DeprecationWarning: AvalancheDataset constructor has been changed. Please check the documentation for the correct usage. You can use `avalanche.benchmarks.utils.make_classification_dataset if you need the old behavior.
and similarly to Approach 1, the functionality of switching between transform groups doesn't work (Bug 2).
It seems that Approach 1 may be the correct technique to create a classification AvalancheDataset, but the transformations are not stored in the groups.
For Bug 2
If we could switch into eval transform group, we expect
These are two issues related to one another.
🐛 Describe the bug Bug 1:
as_classification_dataset
is given 2 arguments in the notebook, but according to the function definition, only one should be provided.transform_groups
is not a valid input. Bug 2: even if we give bothtrain
andeval
transform_groups
to an Avalanche dataset, we can't switch between train/eval transform in that dataset.🐜 To Reproduce Bug 1
Bug 2
🐝 Expected behavior For Bug 1 I tried modifying the code in the following ways
and
and
make_classification_dataset
runs, but the functionality of switching between transform groups doesn't work (Bug 2)as_classification_dataset
followed by.replace_current_transform_group(transform_groups)
doesn't properly wraps the dataset and when enumeratingtrain_MNIST
the examples arePIL.Images
.AvalancheDataset
followed byas_classification_dataset
gives aDeprecationWarning
and similarly to Approach 1, the functionality of switching between transform groups doesn't work (Bug 2).
It seems that Approach 1 may be the correct technique to create a classification AvalancheDataset, but the transformations are not stored in the groups.
For Bug 2 If we could switch into
eval
transform group, we expect🐞 Screenshots Bug 1
🦋 Additional context I'm using
avalanche-lib 0.4.0
andtorch 1.13.1