Skip to main content

Visualisation tool for the Neuromorphic Intermediate Representation

Reason this release was yanked:

Not ready

Project description

Neuromorphic Intermediate Representation Visualisation Tool

Turn your NIR definitions into a nice graph, the original publication serving as a template.

Customise your node colour preferences in style.yml, and quickly generate graphs from your neuromorphic networks.

This work is in progress.

Running Example (Jupyter Notebook)

By running the following code (from a notebook),

import nir
import nirviz
import numpy as np


a = np.random.randn(2)
ir = nir.NIRGraph(
    nodes={
        "input": nir.Input(input_type=np.array([2])),
        "affine1": nir.Affine(weight=np.zeros((2,2)), bias=False),
        "cu1": nir.CubaLIF(tau_mem=a, tau_syn=a, r=a, v_leak=a, v_threshold=a, v_reset=a),
        "affine_rec": nir.Affine(weight=np.zeros((2,2)), bias=False),
        "affine2": nir.Affine(weight=np.zeros((2,2)), bias=False),
        "cu2": nir.CubaLIF(tau_mem=a, tau_syn=a, r=a, v_leak=a, v_threshold=a, v_reset=a),
        "output": nir.Output(output_type=np.array([2]))
    },
    edges=[("input", "affine1"), ("affine1", "cu1"), ("affine_rec", "cu1"),  ("cu1", "affine_rec"), ("cu1", "affine2"), ("affine2", "cu2"), ("cu2", "output")])

viz = nirviz.visualize(ir)
viz.show()

You would get the following visualisation

nirviz output

Similar to Figure 3 of the publication.

Figure 3 of NIR paper for comparison to output

Running example (CLI)

To convert a saved NIR graph (e.g. srnn.nir) to a PNG or SVG, you can use one of the following commands:

python -m nirviz srnn.nir              # SVG -> stdout
python -m nirviz srnn.nir img/srnn.png # PNG -> file
python -m nirviz srnn.nir img/srnn.svg # SVG -> file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nirviz-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file nirviz-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nirviz-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for nirviz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e3dc18058cc54545233596be8208df9e873cb38190b55af32cfbaa550a89af4
MD5 0a45fff2de515424053f7eae98858e77
BLAKE2b-256 5b5206a31cb6a93a74792c7d7acb8d7b5703d5c7ff1c6a19b1791a180632c533

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page