Skip to content

Getting Started

Install Locally

MATNETS targets Python 3.11+.

From the repository root:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\python.exe -m pip install pytest

MATNETS uses JAX. It does not depend on TensorFlow or PyTorch.

First Dense Layer

import jax
import jax.numpy as jnp

import matnets as mtn

params = mtn.init(jax.random.key(0), p=2, q=3, n=2)
x = jnp.ones((2, 2, 2))

# Use determinant-based structural activation
y = mtn.dense(params, x, activation=mtn.activations.relud)

print(y.shape)  # (3, 2, 2)

Five Hidden Layers

The runnable class-style example is in examples/five_hidden_net.py.

import jax
import jax.numpy as jnp

from examples.five_hidden_net import FiveHiddenNet

model = FiveHiddenNet(jax.random.key(42), input_neurons=3, n=2)
x = jnp.ones((3, 2, 2))
y = jax.jit(model.forward)(model.params, x)

print(y.shape)  # (1, 2, 2)

Run it:

.\.venv\Scripts\python.exe examples\five_hidden_net.py

Run Tests

.\.venv\Scripts\python.exe -m pytest