Catasta

Latest version: v0.3.0

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

Scan your dependencies

Page 1 of 2

0.3.0

New features
* A new class, called `Foundation`, has been added to optimize the hyperparameters of the models. Check the `examples` for more information.
* Added a new module `catasta.utils` with the following new util functions:
* `split_dataset` helps splitting datasets into training, validation, and testing folders.
* `set_seed` let's you set a seed for reproducibility
* `set_deterministic` sets PyTorch flags for reproducibility
* Added the following new models:
* PatchGPRegressor
* PatchGPFFTRegressor
* GPFormerRegressor

* The pooling of the `TransformerRegressor` and `TransformerFFTRegressor` can be selected.
Breaking changes
* Removed the possibility to select the `dtype` of the model in the `Scaffold`.
* Changed the `early_stopping` argument in `Scaffold.train` from a boolean value to the smooth factor `alpha`.
* Changed the `min_lr` argument in `Scaffold.train` to `max_lr` as it uses `OneCycleLRScheduler` now.

Minor changes
* Performance should have increased a bit
* CUDA cache is cleaned before training
* An error will raise if a wrong loss function is chosen

0.2.2

New Features
* The images now can be loaded as grayscale.
* Added an argument to the train method of the `Scaffold` to choose the number of workers of the data loader.
Changes
* The training message logging has been prettified.
* In the `ApproximateGPRegressor`, the `use_ard` option defaults now to True.
* The `path` argument in the `Archway` is no longer a keyword argument.
* Changed the type of the `task` argument in the `CatastaDataset` from `Literal` to `str`.
* General performance has been improved.

Buf fixes
* Disabling verbose did not hide all training messages.

0.2.1

Breaking Changes
* `ClassificationEvalInfo` and `RegressionEvalInfo` have been unified into a single class called `EvalInfo`. To differentiate them, the task will be provided via a string, as in the `CatastaDataset `.
* The attribute `input_size` in the `FeedforawrdClassifier` has been changed to `imput_shape`.
* Deleted MAPE, SMAPE, MASE, and MASEP metrics.
* Simplified the `CNNClassifier` constructor arguments.

New features
* Improved training logging by displaying multiple rows instead of a single one.

Bug fixes
* Now, only if the loss function is a `MarginalLogLikelihood`, the loss will be negated.
* Fixed a bug where images were not loading for classification if the extension was in uppercase.
* The `CatastaDataset` now accepts a list of strings in the argument `input_name` to select multiple inputs for regression.

0.2.0

This is a major release for *Catasta*. The API has changed yet again. The most notable difference with this version is that the API is more consistent. A large proportion of the code has been unified, as they offered very similar features. This results in a simpler API and, for me, is easier to maintain.
This version also helps to improve interoperability with other libraries by being able to use default or custom classes for losses and optimizers.
Breaking Changes
* The datasets have been unified into CatastaDataset. For specifying regression or classification tasks, an argument in the constructor must be passed. Also, the splits are always provided by directory discovery.
* The scaffolds have been unified into a single Scaffold class. It will identify the type of task (regression, classification, or signal classification) depending on the CatastaDataset provided.
* The archways have been unified into a single Archway class.
* The ClassificationTrainInfo and RegressionTrainInfo have been unified into TrainInfo.
* The ClassificationPrediction and RegressionPrediction have been unified into PredictionInfo.
* Models are loaded and saved in different ways. Check the docstrings for more information.
* Loading and saving from an to ONNX has been deprecated, as it goes out of scope of *Catasta*'s usage.
* A great number of arguments in methods don't have default values anymore.
* Changed early_stopping from patience and delta to validation monitoring.
* The Archway only loads models from saved paths.

⠀New features
* The user can provide a custom class for the loss function and optimizer.
* The device and dtype can be specified when instantiating the Scaffold.
* Added a verbose option to the Scaffold and Archway.
* Under the examples/ directory there are examples of usage of *Catasta* as a first step to more complete documentation.
* Docstrings have been added for every object in the API.
* The user can now specify in the Dataset the input and output column names for regression

⠀Changes
* If a model does not output a standard deviation, it is set to a vector of zeros instead of None.

0.1.2

Breaking changes
* Removed `RBFRegressor`.
Bug fixes
* Fixed a bug introduced in the last update where training did not work with one-dimensional context lengths.

0.1.1

Breaking changes
* Changed attribute from `FeedforwardRegressor` from `n_inputs` to `context_length` for consistence between regressors
* Separated the FFT Transformer and Mamba models into new models called `TransformerFFTRegressor` and `MambaFFTRegressor`. I have intention of implementing more ways of feature extraction in the future. Same with classifiers
* Changed the Archways API so they can load `.pt` and `.onnx` models
* Omitted the `Image` part on all classification classes. If I implement signal classification, there would be another breaking change, I guess.

New features
* Instead of specifying a save path, to save a model now there is a method to all Scaffolds where you can save the model with more flexibility.
* Added the possibility to save the model to ONNX, except for Gaussian Processes, which will be implemented in the future
* Implemented Classification Archways

Bug fixes
* Fixed a bug where you could not load properly the model in some cases

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.