discrete pairwise undirected graphical models
Project description
Copyright (c) 2021 Nico Piatkowski
pxpy
The python library for discrete pairwise undirected graphical models. Runs on Linux with GLIBC >= 2.28 and Windows 10. Exported ONNX models run on any architecture that has an ONNX runtime with opset 13.
Inference
Loopy belief propagation
Junction tree
Stochastic Clenshaw-Curtis quadrature
Sampling
Gibbs Sampling
Perturb+Map Sampling
Parameter learning
Accelerated proximal gradient
built-in L1 / L2 regularization
Support for custom regularization
Structure learning
Chow-Liu trees
Soft-thresolding
High-order clique structures
Misc
Support for deep Boltzmann tree models (DBT)
Support for spatio-temporal compressible reparametrization (STRF)
Runs on x86_64 (linux, windows) and aarch64 (linux)
Graph drawing via graphviz
Discretization
—
Alpha Changelog
1.0a71: Improved: ONNX and QUBO export
1.0a70: Added: QUBO export
1.0a69: Added: ONNX PAM export
1.0a68: Improved: Data type selection, ONNX export
1.0a67: Improved: Integer MRF; ONNX export
1.0a66: Improved: Data type selection, various minor fixes. Added: Integer model file io.
1.0a65: Improved: Manual model construction
1.0a64: Improved: GPU code. Added: ONNX export
1.0a63: Added: Experimental annealed rejection sampler for structure sampling
1.0a62: Improved: Model loading
1.0a61: Improved: Setting target for “star” structure; reduced python version to 3.6
1.0a60: Improved: Numerical stability of discretization
1.0a55: Added: Load/store of discretization models; aarch64 support (tested on Jetson TX1)
1.0a54: Improved: Init speed
1.0a53: Improved: Init speed
1.0a52: Improved: Graph splitting; init speed
1.0a51: Fixed: Multi-core normalization; Split-edge weight centering
1.0a50: Improved: Support for external inference engines; Changed required GLIBC version to 2.29
1.0a49: Fixed: External loader
1.0a48: Added: Shell script “pxpy_environ” for populating various environment variables. Improved: multi-core support.
1.0a47: Added: draw_neighbors(..). Improved: Discretization
1.0a44: Improved: Discretization
1.0a42: Improved: Updated some default values
1.0a41: Improved: Fixed subtle bug in parameter initialization
1.0a40: Added: Loading string data via genfromstrcsv(..) (built-in string<->int mapper)
1.0a36: Improved: Randomized clique search
1.0a29: Added: Randomized clique search
1.0a28: Improved: Handling NaN-values during discretization (now interpreted as missing)
1.0a27: Improved: Accelerated structure estimation
1.0a26: Improved: Progress computation. Added: Online entropy computation for large cliques
1.0a25: Improved: Memory management
1.0a24: Improved: Structure estimation, backend. Added: Third-order structure estimation; simple graphviz output
1.0a23: Improved: Structure estimation
1.0a22: Improved: Discretization engine, support for external inference engine. Added: default to 32bit computation (disable via env PX_USE64BIT)
1.0a21: Improved: Support for external inference engine
1.0a20: Added: Support for external inference engine (access via env PX_EXTINF)
1.0a19: Improved: Manual model creation
1.0a18: Added: Debug mode (linux only, enable via env PX_DEBUGMODE)
1.0a17: Improved: API, tests, regularization. Added: AIC and BIC computation
1.0a16: Improved: Memory management, access to optimizer state in optimization hooks. Added: Support for training resumption
1.0a15: Improved: API
1.0a14: Improved: Memory management
1.0a13: Improved: Memory management (fixed leak in conditional sampling/marginals)
1.0a12: Improved: Access to vertex and pairwise marginals
1.0a11: Added: Access to single variable marginals
1.0a10: Improved: Library build process
1.0a9: Added: Conditional sampling
1.0a8: Imroved: Maximum-a-posteriori (MAP) estimation. Added: Custom graph construction
1.0a7: Added: Conditional marginal inference, support for Ising/minimal statistics
1.0a6: Added: Manual model creation, support for training data with missing values (represented by pxpy.MISSING_VALUE)
1.0a5: Improved: Model management
1.0a4: Added: Model access in regularization and proximal hooks
1.0a3: Improved: GLIBC requirement, removed libgomp dependency
1.0a2: Added: Python 3.5 compatibility
1.0a1: Initial release
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
File details
Details for the file pxpy-1.0a71.tar.gz
.
File metadata
- Download URL: pxpy-1.0a71.tar.gz
- Upload date:
- Size: 18.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55d3041ab78e144a20df2b4195a89bb9b4450e33b423080e7a8e88b0de9870c7 |
|
MD5 | c0a1d1fb79aa464a0898865b240182b7 |
|
BLAKE2b-256 | 4948107c477ae1b7927f9207f46ec27e67a582b2b112586453d1998e7a6cd22b |
File details
Details for the file pxpy-1.0a71-py3-none-any.whl
.
File metadata
- Download URL: pxpy-1.0a71-py3-none-any.whl
- Upload date:
- Size: 18.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc9f64e84910861964822c816a5f52bac9fc54f66f4d0e4e74705545fc26ca91 |
|
MD5 | 16479c23a72c759ad745f14a456b760c |
|
BLAKE2b-256 | 450eac16c3a1c6ab7d1438a31eed358bd92f3be231a60ceb78d5f364c2b35710 |