Requires Python >= 3.9.
This project uses uv and depends on a local editable clone of
vsa-gym-wrapper (the vsagym package).
make setupmake setup clones vsa-gym-wrapper (only if it isn't already present) and then runs uv sync.
This creates .venv with multiscalessps and vsagym both installed in editable mode.
Run things with uv run python ... or activate the env with source .venv/bin/activate.
If you prefer to do it by hand:
git clone https://github.com/ctn-waterloo/vsa-gym-wrapper
uv syncAlternatively, with plain pip:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ./vsa-gym-wrapper -e .-
Visualize a room environment (layout, dense sample data, and sampling behavior) and save the artifacts to a directory:
python scripts/visualize_room.py
-
Visualize the VSA baseline's decoded class maps and KL-vs-length-scale accuracy across a range of length scales, and save the artifacts to a directory:
python scripts/visualize_vsa_baseline.py
The SP/SSP (Semantic Pointer / Spatial Semantic Pointer) representations in
src/multiscalessps/ssps/ are adapted from the formalism developed in:
Dumont, N. S.-Y. (2025). Symbols, Dynamics, and Maps: A Neurosymbolic Approach to Spatial Cognition (PhD Thesis). University of Waterloo, Waterloo, ON. https://hdl.handle.net/10012/21501
@phdthesis{dumont2025,
title = {Symbols, Dynamics, and Maps: A Neurosymbolic Approach to Spatial Cognition},
author = {Nicole Sandra-Yaffa Dumont},
type = {PhD Thesis},
school = {University of Waterloo},
address = {Waterloo, ON},
year = {2025},
url = {https://hdl.handle.net/10012/21501}
}This project was developed as part of the Telluride Neuromorphic Cognition Engineering Workshop 2026.