Muygpys

Latest version: v0.8.2

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

Scan your dependencies

Page 1 of 4

0.8.2

**Full Changelog**: https://github.com/LLNL/MuyGPyS/compare/v0.8.1...v0.8.2

0.8.1

* The `nu` kwargs and member of `Matern` is now called `smoothness`, and
* Ancillary codes like `performance/benchmark.py` are updated to use the new API.

What's Changed
* update extraneous bits with new API by bwpriest in https://github.com/LLNL/MuyGPyS/pull/197
* replaced "nu" with "smoothness" throughout by bwpriest in https://github.com/LLNL/MuyGPyS/pull/198


**Full Changelog**: https://github.com/LLNL/MuyGPyS/compare/v0.8.0...v0.8.1

0.8.0

* The API now accepts no `"*_method"` string arguments (other than those to `NN_Wrapper`). Instead, one should import and use loss and optimization functions directly. See the [univariate regression tutorial](https://muygpys.readthedocs.io/en/stable/examples/univariate_regression_tutorial.html) and the [optimization docs](https://muygpys.readthedocs.io/en/stable/MuyGPyS/optimize.html) for details.
* Several keyword arguments, member objects, and functor classes are renamed. References to Greek character names deriving from equations have been dropped in favor of interpretable English words. Some examples follow:
* The `eps` kwarg and member of `MuyGPS` is now called `noise`.
* The `sigma_sq` kwarg and member is now called `scale`, as in the variance scale parameter, and the `SigmaSq` class has been replaced:
* `FixedScale` is insensitive to optimization.
* `AnalyticScale` contains the analytic optimization internally.
* `DistortionFn` is replaced by the more precise `DeformationFn`, and is contained in the `MuyGPS` kwarg and member `deformation` instead of `distortion_fn`. The usable functors are renamed `Isotropy` and `Anisotropy` for brevity.
* `ScalarHyperparameter` now has the simpler alias `Parameter`.

There are other, less obvious-to-users changes in this update as well

* The whole optimization workflow has been made ifless. Optimization choices are now purely functions of the classes involved and their member functors.
* loss functions are all now objects of the `LossFn` class, and similarly outer-loop optimization functions are objects of the `OptimizeFn` class.
* `OptimizeFn` takes an objective function maker function in its constructor, which makes it easier to define and incorporate new objective functions.
* As a consequence, it is now much easier to add alternative loss or objective functions or to wrap different optimization libraries entirely.
* It will also be easier to add different ways to optimize the variance scale parameter.
* There are no more "toss-catch"-style optimization function preparations. The primary function held by `MuyGPS.kernel`, `MuyGPS.posterior_mean`, etc, are now suitable for optimization and are all created by `MuyGPS._make()`. If a user for some reason changes a parameter value directly, it is necessary to run `MuyGPS._make()` to update the downstream functors.
* Backend-sensitive classes have `_backend_fn`-type kwargs in their constructors that allows a user to override the default backend specified by the `MUYGPYS_BACKEND` environment variable. This makes testing the backends against one another simpler. Users should most likely ignore these kwargs, as it is unclear if they have other uses.


What's Changed
* Feature/ifless loss by bwpriest in https://github.com/LLNL/MuyGPyS/pull/190
* improved loss abstraction by bwpriest in https://github.com/LLNL/MuyGPyS/pull/191
* made noise perturbation logic ifless by bwpriest in https://github.com/LLNL/MuyGPyS/pull/192
* made sigma_sq logic ifless by bwpriest in https://github.com/LLNL/MuyGPyS/pull/193
* streamlined and made DistortionFns ifless by bwpriest in https://github.com/LLNL/MuyGPyS/pull/194
* made outer-loop optimization ifless by bwpriest in https://github.com/LLNL/MuyGPyS/pull/195
* divested namespace of notation in favor of English by bwpriest in https://github.com/LLNL/MuyGPyS/pull/196


**Full Changelog**: https://github.com/LLNL/MuyGPyS/compare/v0.7.2...v0.8.0

0.7.2

v0.7.2 is the same as v0.7.1, but actually increments the version number as needed by PyPI.

0.7.1

* Improvements to the docstrings for all loss functions.
* Corrections to the docstring and tutorial for the looph loss in particular.
* Added `MuyGPyS.gp.kernel.experimental.ShearKernel` and `experimental/shear_kernel.ipynb`.

0.7.0

* The API now reduces the number of strings arguments, and instead largely expects objects directly. See the [univariate regression tutorial](https://muygpys.readthedocs.io/en/stable/examples/univariate_regression_tutorial.html) for details.
* Added explicit distance models, currently supporting anisotropic and isotropic. See the [anisotropic tutorial](https://muygpys.readthedocs.io/en/stable/examples/anisotropic_tutorial.html) for details of the anisotropic distance model.
* Added several new loss functions. See the new [loss function tutorial](https://muygpys.readthedocs.io/en/stableexamples/loss_tutorial.html) for details.
* Added several experimental features that are not fully hardened:
* Heteroscedastic noise model, where each training observation has a separate Gaussian noise prior.
* Hierarchical nonstationary parameters, where a scalar hyperparameter has several (possibly optimized) knot values throughout the domain and interpolates values at new locations using a lower-level GP.
* An alternative optimization workflow that reconstructs neighborhoods during optimization, meant to handle cases like anisotropy where neighborhoods change during optimization.
* Added experimental notebooks investigating several of these experimental features.
* Majorly changed the backend of the library. Control flow is increasingly functional. Member functions such as `MuyGPS.posterior_mean()` are composed at object creation depending on different model choices. The specific way in which this is done is subject to change.

What's Changed
* Refactoring math to remove global numpy dependency by bwpriest in https://github.com/LLNL/MuyGPyS/pull/95
* Housekeeping to tidy up the import interface by bwpriest in https://github.com/LLNL/MuyGPyS/pull/97
* All optimization functions now rely on kwargs form by bwpriest in https://github.com/LLNL/MuyGPyS/pull/98
* removed all `*_from_indices` functions from the libarary (less MuyGPyS.examples) by bwpriest in https://github.com/LLNL/MuyGPyS/pull/100
* Removing `MuyGPS.regress` in favor of separate mean and variance functions by bwpriest in https://github.com/LLNL/MuyGPyS/pull/102
* Making all member functions modular pure functions by bwpriest in https://github.com/LLNL/MuyGPyS/pull/104
* coalesced noise model application logic to single function by bwpriest in https://github.com/LLNL/MuyGPyS/pull/107
* Feature/heteroscedasticity by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/109
* Exposing object creation to the user by bwpriest in https://github.com/LLNL/MuyGPyS/pull/118
* Refactored code so length scale lives in distortion models by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/122
* Fixed bug that was fixing length_scale in optimizations by bwpriest in https://github.com/LLNL/MuyGPyS/pull/128
* Reorganize hyperparameters and init hierarchical nonstationary hyperparameter by igoumiri in https://github.com/LLNL/MuyGPyS/pull/129
* Anisotropic feature integrated into library. Tests added to gp.py and kernel.py by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/127
* Added performance benchmarking script by bwpriest in https://github.com/LLNL/MuyGPyS/pull/135
* Updated format throughout to match PEP by bwpriest in https://github.com/LLNL/MuyGPyS/pull/133
* fixed tests/optimize.py to actually work by bwpriest in https://github.com/LLNL/MuyGPyS/pull/139
* removed jax cuda extras; user must now install manually by bwpriest in https://github.com/LLNL/MuyGPyS/pull/140
* Added pretty print overloads for MuyGPS classes by bwpriest in https://github.com/LLNL/MuyGPyS/pull/142
* Iss/141 by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/143
* All torch tests passing by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/144
* removed hardcoded float commands in examples/muygps_torch by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/146
* Streamlined doc notebooks to obscure sampling and plotting code by bwpriest in https://github.com/LLNL/MuyGPyS/pull/148
* Refactored distortion class to take metric Callable as argument by alecmdunton in https://github.com/LLNL/MuyGPyS/pull/147
* Fix develop tests being skipped by igoumiri in https://github.com/LLNL/MuyGPyS/pull/151
* Fixed test harness errors introduced by merge. Updated some documentation. by bwpriest in https://github.com/LLNL/MuyGPyS/pull/152
* Feature: hierarchical RBF by igoumiri in https://github.com/LLNL/MuyGPyS/pull/145
* Added opt parameter indirection in preparation for hierarchical parameters by bwpriest in https://github.com/LLNL/MuyGPyS/pull/153
* Optimization for hierarchical GPs by igoumiri in https://github.com/LLNL/MuyGPyS/pull/154
* Fix knot optimization by igoumiri in https://github.com/LLNL/MuyGPyS/pull/156
* pulled boilerplate functions out of optimization pipelines by bwpriest in https://github.com/LLNL/MuyGPyS/pull/157
* minor nonstationary notebook cleanup [skip ci]. by bwpriest in https://github.com/LLNL/MuyGPyS/pull/159
* removed regress api tutorial [skip ci] by bwpriest in https://github.com/LLNL/MuyGPyS/pull/160
* [skip ci] refactored nb names and added a flat optimization for sanit… by bwpriest in https://github.com/LLNL/MuyGPyS/pull/161
* Adding new pseudo Huber loss function for outlier robustness. by bwpriest in https://github.com/LLNL/MuyGPyS/pull/164
* Added a variance-regularized pseudo-Huber loss function similar in fo… by bwpriest in https://github.com/LLNL/MuyGPyS/pull/166
* fixed bug to actually forward the looph function by bwpriest in https://github.com/LLNL/MuyGPyS/pull/167
* first implementation commit by akilandrews in https://github.com/LLNL/MuyGPyS/pull/165
* documentation nb updates/cleanup by bwpriest in https://github.com/LLNL/MuyGPyS/pull/169
* Update .readthedocs.yaml to supported python version [skip ci] by bwpriest in https://github.com/LLNL/MuyGPyS/pull/170
* Roll back required ipython versions in setup.py [skip ci] by bwpriest in https://github.com/LLNL/MuyGPyS/pull/171
* fixed RTD builds by bwpriest in https://github.com/LLNL/MuyGPyS/pull/172
* precomputing torch tutorial as it does not seem possible to run on RT… by bwpriest in https://github.com/LLNL/MuyGPyS/pull/173
* anisotropic tutorial and nb cleanup by bwpriest in https://github.com/LLNL/MuyGPyS/pull/175
* Added loss function tutorial. Fixed some mistakes in the documentatio… by bwpriest in https://github.com/LLNL/MuyGPyS/pull/176
* moved UnivariateSampler* into MuyGPyS._test.sampler for convenience by bwpriest in https://github.com/LLNL/MuyGPyS/pull/177
* moved mini batch tests to their own file by bwpriest in https://github.com/LLNL/MuyGPyS/pull/178
* Passing loss functions instead of strings. Unhooked experimental opti… by bwpriest in https://github.com/LLNL/MuyGPyS/pull/180
* improvements to samplers and tutorials by bwpriest in https://github.com/LLNL/MuyGPyS/pull/182
* reduced training ratio for anisotropic tutorial by bwpriest in https://github.com/LLNL/MuyGPyS/pull/183
* Optimization loop chassis by akilandrews in https://github.com/LLNL/MuyGPyS/pull/181
* partial fix to torch parameter optimization by bwpriest in https://github.com/LLNL/MuyGPyS/pull/184
* final updates for v0.7.0 by bwpriest in https://github.com/LLNL/MuyGPyS/pull/185

New Contributors
* akilandrews made their first contribution in https://github.com/LLNL/MuyGPyS/pull/165

**Full Changelog**: https://github.com/LLNL/MuyGPyS/compare/v0.6.6...v0.7.0

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.