Keanu

Latest version: v0.0.26.dev1

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

Scan your dependencies

Page 4 of 4

0.0.8

This release introduces tensors (N dimensional arrays) to all vertices.

**Features**
- DoubleVertex's, IntegerVertex's can now take a shape and be used with tensors.
- All inference algorithms have been converted to use tensors

**Breaking changes**
- When calling getValue() on a DoubleVertex or IntegerVertex a Tensor object will be returned. For
upgrading from the old DoubleVertex where only a single double was contained in the vertex, you will now need to call getValue().scalar() to have the same behavior as previous versions.
- Many other minor changes. Please raise a Github issue if an upgrade path isn't clear.

0.0.7

This releases feature set includes:

**Tensors**
- The following vertices have been tensorised: Gaussian, Beta, Exponential, Laplace, Uniform, Triangular, Gamma, Inverse Gamma
- Hamiltonian Monte Carlo
- MAP

**Vertex**
- Remove the need for Random in Vertex constructors. They are now only provided when needed, i.e: in `sample`.
- ID's are now long's
- `StudentT`

**Breaking changes**
- Changed the name of the BayesNet class to BayesianNetwork.
- For gradient optimization, you will need to use the BayesNetDoubleAsContinuous class. This class is a temporary solution for supporting both tensor optimization AND non-tensor optimization. In future releases this all gradient optimization will be done with tensors and this class will be deprecated.
- A java.util.Random is no longer required by the vertices upon creation. Instead a KeanuRandom is required by any sampling algorithm or directly sampling a vertex. A KeanuRandom can be safely created in the same way as a java.util.Random by `new KeanuRandom()` or provide a seed long value `new KeanuRandom(seed)`

0.0.6

This releases feature set includes:

**API**
- DualNumber API renamed to `PartialDerivatives` and includes helper methods to quickly get them with respect to a target.
- Removes density and dDensity from the base class Vertex. This makes logDensity and dLogDensity the preferred and required abstract methods. logDensity has been replaced with logProb where appropriate.

**CI**
- Integrated SonarQube: https://sonarcloud.io/dashboard?branch=develop&id=keanu%3Akeanu-project

**Operators**
- `Sigmoid`

**Bug Fixes**
- Evaluation of DualNumbers no longer redoes work

0.0.5

This releases feature set includes:

**Distributions**
- `Chi Squared`
- `Inverse Gamma`

**Operations**
- `tan`, `atan`, `atan2`
- `floor`, `ceil`

**Inference Algorithms**
- Improved Hamiltonian efficiency

**Bug Fixes**
- Values propagating forward through the graph now does not redo work
- Reverse evaluation of values no longer redoes work

**General Improvements**
- Added more complete constructor options for distribution vertices

0.0.4

This is the second release of Keanu, following hastily behind 0.0.3

This releases feature set includes:

* Fix a calculation bug inside the `Gamma` and `Beta` distributions
* As part of this, improved testing across all Double Vertices
* `PowerVertex` now also accepts a `DoubleVertex` as its exponent
* This is a non-backwards compatible change as `PowerVertex` has moved packages from `operators.unary` to `operators.binary`
* Hyper-parameter getters added to distributions
* For example, `getMu()` on the `GaussianVertex`
* `LaplaceVertex`
* `Cos` and `ArcCos` unary operators

0.0.3

This is the initial release to the open world with the initial feature set of:

* Probabilistic Programming Operators and Distributions
* Auto-differentiation
* Inference
* Maximum a posteriori
* Metropolis Hastings
* Hamiltonian Monte Carlo
* Sequential Monte Carlo (Particle Filtering)
* Support for Kotlin

Binary can be found at:
https://search.maven.org/artifactdetails%7Cio.improbable%7Ckeanu%7C0.0.3%7Cjar

Page 4 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.