
Security News
NVD Quietly Sweeps 100K+ CVEs Into a “Deferred” Black Hole
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
Available here.
As an example we will create and train a normalizing flow model to toy data in just a few lines of code:
from flowjax.flows import block_neural_autoregressive_flow
from flowjax.train import fit_to_data
from flowjax.distributions import Normal
import jax.random as jr
import jax.numpy as jnp
data_key, flow_key, train_key, sample_key = jr.split(jr.key(0), 4)
x = jr.uniform(data_key, (5000, 2)) # Toy data
flow = block_neural_autoregressive_flow(
key=flow_key,
base_dist=Normal(jnp.zeros(x.shape[1])),
)
flow, losses = fit_to_data(
key=train_key,
dist=flow,
x=x,
learning_rate=5e-3,
max_epochs=200,
)
# We can now evaluate the log-probability of arbitrary points
log_probs = flow.log_prob(x)
# And sample the distribution
samples = flow.sample(sample_key, (1000, ))
The package currently includes:
coupling_flow
(Dinh et al., 2017) and masked_autoregressive_flow
(Kingma et al., 2016, Papamakarios et al., 2017) normalizing flow architectures.
Affine
or RationalQuadraticSpline
(the latter used in neural spline flows; Durkan et al., 2019).block_neural_autoregressive_flow
, as introduced by De Cao et al., 2019.planar_flow
, as introduced by Rezende and Mohamed, 2015.triangular_spline_flow
, introduced here.pip install flowjax
This package is in its early stages of development and may undergo significant changes, including breaking changes, between major releases. Whilst ideally we should be on version 0.y.z to indicate its state, we have already progressed beyond that stage. Any breaking changes will be in the release notes for each major release.
We can install a version for development as follows
git clone https://github.com/danielward27/flowjax.git
cd flowjax
pip install -e .[dev]
sudo apt-get install pandoc # Required for building documentation
If you found this package useful in academic work, please consider citing it using the
template below, filling in [version number]
and [release year of version]
to the
appropriate values. Version specific DOIs
can be obtained from zenodo if desired.
@software{ward2023flowjax,
title = {FlowJAX: Distributions and Normalizing Flows in Jax},
author = {Daniel Ward},
url = {https://github.com/danielward27/flowjax},
version = {[version number]},
year = {[release year of version]},
doi = {10.5281/zenodo.10402073},
}
FAQs
Easy to use distributions, bijections and normalizing flows in JAX.
We found that flowjax demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
Research
Security News
Lazarus-linked threat actors expand their npm malware campaign with new RAT loaders, hex obfuscation, and over 5,600 downloads across 11 packages.
Security News
Safari 18.4 adds support for Iterator Helpers and two other TC39 JavaScript features, bringing full cross-browser coverage to key parts of the ECMAScript spec.