Skip to main content

Minimal library to construct Hierarchical Associative Memories

Project description

Barebones-HAMUX

HAMUX built using equinox, minimal implementation. A temporary solution as HAMUX is being rebuilt.

Build any hopfield network using energy fundamentals. See the original HAMUX documentation for explanation.

Install: File copy

All logic is in one file: hamux.py. Please copy this file into whatever project you are working on, and modify as needed. You will need to manually install dependencies:

pip install equinox jax
pip install pytest # for tests

Install correct version of jaxlib for your hardware (e.g., to run on GPUs).

Run demo.ipynb for an example training on MNIST. Works best with GPU

Install: Pip

Tests

All basic tests for this package are in test.py.

pytest test.py

Citation

If this repository is useful for this work, please cite the following:

@inproceedings{
hoover2022universal,
title={A Universal Abstraction for Hierarchical Hopfield Networks},
author={Benjamin Hoover and Duen Horng Chau and Hendrik Strobelt and Dmitry Krotov},
booktitle={The Symbiosis of Deep Learning and Differential Equations II},
year={2022},
url={https://openreview.net/forum?id=SAv3nhzNWhw}
}

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

bbhamux-0.2.0.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

bbhamux-0.2.0-py3-none-any.whl (5.3 kB view hashes)

Uploaded Python 3

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