Unconstrained monotonic neural networks for PyTorch, JAX, and Keras
Project description
mononet — Unconstrained Monotonic Neural Networks
Reference implementation of the unconstrained monotonic neural network construction from:
Runje, D., Shankaranarayana, S. M. (2023). Constrained Monotonic Neural Networks. ICML 2023. https://arxiv.org/abs/2205.11775
First-class support for PyTorch, JAX (Flax NNX), and Keras 3.
Install
pip install "mononet[torch]" # PyTorch
pip install "mononet[jax]" # JAX + Flax NNX
pip install "mononet[keras]" # Keras 3
pip install "mononet[all]" # all three
Quick start
A 60-second tour will appear here once the algorithm implementation lands.
Each backend exposes the same composed model (MonoMLP) and the
framework-idiomatic layer name (MonoLinear for PyTorch and JAX,
MonoDense for Keras).
# PyTorch
from mononet.torch import MonoMLP
# JAX
from mononet.jax import MonoMLP
# Keras 3
from mononet.keras import MonoMLP
License
Apache License 2.0 — see LICENSE and NOTICE.md.
Commercial use is permitted. The technique is described in U.S. Patent
11,551,063 (assignee: AIRT Technologies Ltd.); the Apache-2.0 license
grants the patent rights needed to use this code. For academic use, please
cite the paper (see NOTICE.md).
Formal proofs
Every theorem in the paper is mechanized in Lean 4 + mathlib4 under
proofs/. See
the cross-reference page
for the paper-claim ↔ Lean-theorem ↔ Python-test mapping.
Documentation
Full docs at https://davorrunje.github.io/mononet/. Source for guides
and benchmarks lives in docs/docs/.
Contributing
See CONTRIBUTING.md for the development workflow:
devcontainer choice, uv sync, pre-commit, per-backend test commands.
Citation
If you use mononet in academic work, please cite the paper. BibTeX is
in docs/docs/about/citation.md.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mononet-0.0.0a0.tar.gz.
File metadata
- Download URL: mononet-0.0.0a0.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff5082eb7fa3aa86a44e9a8f4623106295cc5b02f503ad3b36e376f66ad216f6
|
|
| MD5 |
2611e406280612603c847624c6f8c432
|
|
| BLAKE2b-256 |
8f9854d4f0d24a6d7e958cb0858c855d921972d118c51d3698be0a5fd49c53e4
|
Provenance
The following attestation bundles were made for mononet-0.0.0a0.tar.gz:
Publisher:
publish.yml on davorrunje/mononet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mononet-0.0.0a0.tar.gz -
Subject digest:
ff5082eb7fa3aa86a44e9a8f4623106295cc5b02f503ad3b36e376f66ad216f6 - Sigstore transparency entry: 1987039040
- Sigstore integration time:
-
Permalink:
davorrunje/mononet@d7933011a387da30bc18052e9c60ce990509dcdd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/davorrunje
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d7933011a387da30bc18052e9c60ce990509dcdd -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file mononet-0.0.0a0-py3-none-any.whl.
File metadata
- Download URL: mononet-0.0.0a0-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
903d7230ed71a52adfb0e5d6ddd3b854d01d7e118fad6392c3ba0a4070ae3450
|
|
| MD5 |
0b112da5155c36340a3b8557077c283a
|
|
| BLAKE2b-256 |
a45646d2f6d11355331d98cc9eccf16857087c1da80ddbb8697644ca51db793a
|
Provenance
The following attestation bundles were made for mononet-0.0.0a0-py3-none-any.whl:
Publisher:
publish.yml on davorrunje/mononet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mononet-0.0.0a0-py3-none-any.whl -
Subject digest:
903d7230ed71a52adfb0e5d6ddd3b854d01d7e118fad6392c3ba0a4070ae3450 - Sigstore transparency entry: 1987039124
- Sigstore integration time:
-
Permalink:
davorrunje/mononet@d7933011a387da30bc18052e9c60ce990509dcdd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/davorrunje
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d7933011a387da30bc18052e9c60ce990509dcdd -
Trigger Event:
workflow_dispatch
-
Statement type: