Hyperdimensional computing with Jax
Project description
hyper-jax
Hyperdimensional computing with Jax. This library provides a very minimal implementation of MAP (Multiply, add, permute) operations over bipolar vectors originally proposed here.
Install
Coming soon...
How to use
Generate 2 random vectors with dimension of 10 000
from generator import random_vectors
dimensions = 10000
count = 2
key = random.PRNGKey(0)
vectors = random_vectors(key, dimensions, count)
Bundle two hypervectors
from operation import bundle, unbundle
hypervector = bundle(vectors[0], vectors[1])
Unbundle two hypervectors
# original_vector == vectors[0]
original_vector = unbundle(hypervector, vectors[1])
Bind two hypervectors
from operation import bind, unbind
bound_vector = bind(vectors[0], vectors[1])
Unbind the hypervector
# original_vector == vectors[1]
unbound_vector = unbind(bound_vector, vectors[0])
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
hyper-jax-0.0.1.tar.gz
(2.8 kB
view hashes)
Built Distribution
Close
Hashes for hyper_jax-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3e2b5e5a46c90b4895a208ef945b19c669c54c349df76d72345b56ed8514be0 |
|
MD5 | 229f78c475c5c7b54c8698354d53649a |
|
BLAKE2b-256 | 0f455e2dd2e308a9bcd6de5c3b2716395cb467fb665cf6f76761e0765e401544 |