Skip to main content

Conditional density estimation.

Project description

PyPI version Contributions welcome GitHub license

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyknos-0.14.2.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

pyknos-0.14.2-py2.py3-none-any.whl (21.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyknos-0.14.2.tar.gz.

File metadata

  • Download URL: pyknos-0.14.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for pyknos-0.14.2.tar.gz
Algorithm Hash digest
SHA256 a53b3a2877873bda211197d22a18f0e4a4c1c1c5aecbfd5ad2322992134516ea
MD5 5d3557cefbccdbef717c8ff0b31b3329
BLAKE2b-256 f795ef2c9ed7c21b17a929a6b97870a7804d132a197db4d42265ca2c3ae1f0a1

See more details on using hashes here.

File details

Details for the file pyknos-0.14.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pyknos-0.14.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for pyknos-0.14.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5dcac0852ecc2098d1c126fd0116e8ca5fbc3583c9b7cbf94cf89b91a23ee06b
MD5 42af6e076a3e0c91e6b248a426789c7e
BLAKE2b-256 062f8acdbd84eaac67f177eed4bac5f3bf635d74cba2f6b0be0c36285678f50a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page