Keanu

Latest version: v0.0.26.dev1

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

Scan your dependencies

Page 1 of 4

0.0.26

Common

* Made constructing the children set of a vertex more efficient by not constantly reconstructing the set.
* Upgrade to nd4j 1.0.0-beta4

Java

* Fixed an error where a space was present in one of the dependencies, which broke some build systems fetching dependencies.

- Fixed issues with MultinomialVertex. The issues with it before were:
- It was extremely strict on checking that p summed to 1.0
- It disallowed scalar n. This is probably the most common use case.
- It didn't support the usual batch sampling nor batch logProb (see MultinomialVertex.java for docs)

- MultinomialVertex Functional changes:
- The shape of p expected k to be the far left dimension. It is now the far right in order to allow for broadcasting semantics.
- n and p parameter validation was semi-controllable but is now completely toggleable with `vertex.setValidationEnabled(true);`

- Add more generic tensor slice that allows start stop and interval slicing.

- Change name on DoubleTensor compare methods by removing get (e.g. `getGreaterThanMask(...))` -> `greaterThanMask(...)`)

- BooleanTensor now uses boolean arrays instead of Nd4j doubles

- Added custom distribution example to examples

- Added to DoubleTensor operations inspired by numpy:
- cumSum
- cumProd
- product
- logAddExp
- logAddExp2
- log10
- log2
- log1p
- exp2
- expM1
- tanh
- atanh
- sinh
- asinh
- cosh
- acosh

- Fixed bug in NUTS where NaN gradients do not cause a step to be divergent

Python

* Faster tensor creation in Python

0.0.25

Python

* Fixes: proxy vertices were of type "Vertex" rather than a child class e.g. "Double". Consequently they could not be used as parents of other vertices, e.g. an AdditionVertex

0.0.24

Sequences save / load

0.0.23

Common

* You can now build a `Sequence` using more than one factory, whose vertices may be dependent on another.
* In Java: you can call `SequenceBuilderwithFactories` instead of `SequenceBuilderwithFactory`
* In Python: the parameter has been renamed from `factory` to `factories` (BREAKING CHANGE). You can pass in one or a list of multiple factories.

0.0.22

Common

* `DoubleVertexmatrixMultiply` now performs dot product when given two vectors, and matrix-vector product when given a matrix and a vector.
* Autodiff for Slice Vertices has now been fixed (caused issues with NUTS when run on a graph containing Slices)
* **BREAKING CHANGE** `MultivariateGaussianVertex` now requires that mu is a vector (i.e. a rank 1 tensor) instead of a matrix (rank 2).
* **BREAKING CHANGE** `DoubleTensor.scalar` will throw an exception if the DoubleTensor is not actually a scalar. Please use `.getValue(0)` if you just want the first element in a DoubleTensor.

Python

* Improved performance of getting samples by coercing them into a `Tensor` in Java (instead of iterating through an `ArrayList`).

0.0.21

Common

* Using Buildkite for CI
* Can save dot files with disconnected vertices in BayesianNetwork. You can also just pass a list of vertices to DotSaver.
* Plates have been renamed
* This was done primarily because we were using the term incorrectly, since Dynamic Bayes Nets (e.g. Hidden Markov) are not Plates.
* `Plates` --> `Sequence`
* `Plate` --> `SequenceItem`
* `plate` package --> `template`
* `ForwardSampler`
* Samples from the prior of a bayesian network. The network cannot have observations that are dependent on random variables.
* It's accessible from the `Keanu` factory like so: `Keanu.Sampling.Forward.withDefaultConfig()`
* There is a togglabe option to record the log prob of each sample. This is disabled by default for performance reasons.

Python

* Expose `unobserve`
* Added `iter_all_vertices`
* Rename methods returning generators to `iter_*` from `get_*`
* Split the ND4J dependencies into their own pip package.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.