This release reworks the `AgMLDataLoader` internals and updates its compatibility with TensorFlow/PyTorch training pipelines.
Changes
`agml.data`
- Reworks the `AgMLDataLoader` architecture, removing the task-type-based subclasses and adding internal data management classes.
- The `batch`, `split`, and `shuffle` methods can be used to perform different operations on the data within the `AgMLDataLoader` itself.
- The `transform` and `resize_images` methods can be used to apply transforms to the data or resize the images to a specific size (or auto-resize the images smartly).
- The new method `labels_to_one_hot` convert labels to one-hot-vectors for image classification tasks.
- The `as_keras_sequence` and `as_torch_dataset` methods (alongside the `reset_preprocessing`, `disable_preprocessing`, and `eval` methods) enable the `AgMLDataLoader` to be used for training and evaluation modes independently, and directly in TensorFlow/PyTorch pipelines.
- The `export_contents` method exports the raw data mapping for the user to use outside of `agml`.
- The `export_torch` and `export_tensorflow` methods convert the loader to a `torch.utils.data.DataLoader` or `tf.data.Dataset`, respectively.
`agml.backend`
- Added the capability to set a global path to save datasets, using `agml.backend.set_data_save_path`. Once run, this will change the path all datasets are downloaded to until it is either reset or changed back.
`agml.viz`
- Bugfixes and improved visualization for different types of input images (both normalized and unnormalized).