Helios-ml

Latest version: v1.2.4

Safety actively analyzes 688931 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.2.4

Breaking Changes
* `helios.plugins.optuna.OptunaPlugin.enqueue_failed_trials` has been removed in favour of `helios.plugins.optuna.resume_study`. See the notes below for the new system.

Feature Changes
* Provides full support for resuming stopped/interrupted optuna trials. The new `resume_study` function now correctly resumes studies by creating a new DB and copying the trials over, enqueuing any trials that are considered failures. Please see the documentation for more info.
* Adds a new function to checkpoint and restore samplers when using Optuna. This now provides full reproducibility (subject to the usual constraints from Optuna and PyTorch).

Release Notes
https://github.com/marovira/helios-ml/compare/1.2.3...1.2.4

1.2.3

Emergency Patch
* Fixes a critical issue with `helios.metrics.functional.calculate_mae_torch` that was causing it to return incorrect values.
* Unit tests have been updated to ensure this doesn't happen again.

Release Notes
https://github.com/marovira/helios-ml/compare/1.2.2...1.2.3

1.2.2

Breaking Changes
* The Optuna plug-in no longer reports metrics automatically. Please call `report_metrics` whenever the metrics are ready to be sent to the trial.

Bug Fixes
* Fixes an issue where the plug-in would incorrectly attempt to report metrics when `on_validation_end` hadn't been called and therefore mistakenly reported the wrong metrics. This in turn resulted in the plug-in reporting metrics that were one validation cycle behind the current cycle.
* Updated the docs to ensure they are consistent with the code.
* Fixed an issue where online docs did not show source code.

Release Notes
https://github.com/marovira/helios-ml/compare/1.2.1...1.2.2

1.2.1

Breaking Changes
* The Optuna plug-in no longer takes in `num_trials` as an argument. Please see the feature changes for more details.

Bug Fixes
* The Optuna plug-in now has functionality to correctly resume trials that failed due to user intervention or some other errors. Please see the documentation on the new `enqueue_failed_trials` function for more information.

Full Changelog
https://github.com/marovira/helios-ml/compare/1.2.0...1.2.1

1.2.0

Breaking Changes
* `helios.data.functional.load_image` no longer uses PIL as its back-end and is now using OpenCV. If you're using the function with default arguments, no changes need to be made. However if you're using it as `load_image(path, "RGB")`, then you should change to `load_image(path, cv2.IMREAD_COLOR)` to get the equivalent behaviour. If you require PIL, you can use `helios.data.functional.load_image_pil`.
* Helios now does exception handling internally. As a result, any exception that is *not* registered in the training or testing exception lists will be handled internally and swallowed by Helios.

Feature Changes
* Replaced PIL in `helios.data.functional.load_image` with OpenCV to allow more flexibility in what types of images are loaded. In order to maintain compatibility with PyTorch, `helios.data.functional.load_image_pil` has been added so images can be load through PIL.
* `ToImageTensor` is now type-hinted correctly with all the possible types it accepts.
* Exception handling has been improved. The new system correctly logs exceptions in both single and distributed training cases. The side-effect of this is that Helios will now swallow exceptions unless explicitly told otherwise. See the documentation for the `Trainer.fit` and `Trainer.test` functions for more details.
* The Optuna plug-in now has a system to stop optimisation whenever the given number of trials has been reached. This ensures that the number of trials is reached regardless of the number of runs it takes to get there.

Bug Fixes
* The `Model._val_scores` and `Model._test_scores` tables now accept any type as their values.

Full Changelog
https://github.com/marovira/helios-ml/compare/1.1.0...1.2.0

1.1.0

Breaking Changes
* Dependencies have been updated. Please see the README for more information.
* Helios now requires a minimum NumPY version of 2.0.0.
* The `TrainingState` struct was previously saved in checkpoints as a dictionary. This has now been changed to save the struct itself, so you **must** migrate your checkpoints to the new system.

Feature Changes
* Introduces a new plug-in system to extend the functionality of Helios.
* Introduces a new `safe_torch_load` function that wraps `torch.load` with `weights_only` set to true. This addresses the warnings coming from PyTorch starting with 2.4.0.
* Introduces a way to have the trainer ignore certain exception types when training so they can be caught by the calling code.
* Adds a multi-processing queue to the trainer (available only in distributed mode) that allows data to be passed back to the main process.
* Adds native integration with Optuna through the new `OptunaPlugin`.
* Adds a new `CUDAPlugin` that automatically moves batches to the set GPU device.
*

Bug Fixes
* When setting both CPU and GPU for the trainer, an exception is now raised instead of silently ignoring the CPU flag.
* Unit tests are now expanded to cover all supported versions of Python.
* Protobuf is no longer fixed to be less than 5.0.0.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.