Conditional density estimation.
Project description
Description
Python package for conditional density estimation. It either wraps or implements diverse conditional density estimators.
Density estimation with normalizing flows
This package provides pass-through access to all the functionalities of nflows.
Setup
Clone the repo and install all the dependencies using the
environment.yml
file to create a conda environment: conda env create -f environment.yml
. If you already have a pyknos
environment
and want to refresh dependencies, just run conda env update -f environment.yml --prune
.
Alternatively, you can install via setup.py
using pip install -e ".[dev]"
(the dev flag installs development and testing
dependencies).
Examples
Examples are collected in notebooks in examples/
.
Binary files and Jupyter notebooks
Using
We use git lfs to store large binary files. Those files are not
downloaded by cloning the repository, but you have to pull them
separately. To do so follow installation instructions here
https://git-lfs.github.com/. In
particular, in a freshly cloned repository on a new machine, you will
need to run both git-lfs install
and git-lfs pull
.
Contributing
We use a filename filter to identify large binary files. Once you
installed and pulled git lfs you can add a file to git lfs by
appending _gitlfs
to the basename, e.g., oldbase_gitlfs.npy
. Then
add the file to the index, commit, and it will be tracked by git lfs.
Additionally, to avoid large diffs due to Jupyter notebook outputs we
are using nbstripout
to remove output from notebooks before every
commit. The nbstripout
package is downloaded automatically during
installation of pyknos
. However, please make sure to set up the
filter yourself, e.g., through nbstriout --install
or with
different options as described
here.
Name
pyknós (πυκνός) is the transliterated Greek root for density (pyknótita) and also means sagacious.
Copyright notice
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Acknowledgements
Thanks to Artur Bekasov, Conor Durkan and George Papamarkarios for their work on nflows.
The MDN implementation in this package is by Conor M. Durkan.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyknos-0.12.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afc65f58d5051b0aeb20d86e1b7036cb7948e3c1fc4c26710bcfb2c755d58b54 |
|
MD5 | c83cedc2a2ca20e9c07311b78f4b35c7 |
|
BLAKE2b-256 | db87318d015fc54c0419bdc014c75bc0d881eb86cd93f2f30bf9ff69b2f1ffd1 |