Giter Site home page Giter Site logo

tuc-proaut / vsa_toolbox Goto Github PK

View Code? Open in Web Editor NEW
20.0 5.0 1.0 252 KB

Home Page: https://www.tu-chemnitz.de/etit/proaut/vsa

License: GNU General Public License v3.0

MATLAB 100.00%
vsa hd-computing hyperdimensional-computing vector-symbolic-architectures

vsa_toolbox's Introduction

VSA_toolbox

The VSA_toolbox is a MATLAB implementation to develop and apply different kinds of VSA within one environment. It is also the source code to the paper [1].

[1] K. Schlegel, P. Neubert, and P. Protzel, โ€œA comparison of vector symbolic architectures,โ€ Artif. Intell. Rev., Dec. 2021.

Requirements

Installation

  • no specific installation is required
  • start the scripts from the "VSA_toolbox" folder

Usage

Use the toolbox

  • the script "demo.m" contains a demonstration of using the toolbox
  • first, create an object with "vsa_env.m" and specify the architecture
  • available architectures are: MAP-B, MAP-C, MAP-I, BSC, HRR, VTB, FHRR, BSDC, BSDC-S, BSDC-SEG, MBAT (see paper for explanation)
  • methods of such an VSA environment object are the operations, like bundling, binding, unbinding and similarity measurement
  • the folder "+operation" contains the implementations of the operators for each VSA

Reproduce the experiments

  • start the experiment main script: experiments_main
  • it contains subscripts for bundle capacity, binding pairs capacity, repetitive binding/unbinding and language recognition (place recognition will be published as soon as possible)
  • default parameters are used in the paper
  • after execution, a folder named "experimental_results" is created in the main folder with a sub-folder "plots", which contains the plotted curves

Plot the figures from the paper

  • the folder "experimental_results" contains the original .mat files from the experiments in the paper
  • to plot the figures, start the script "visualize_all.mat" with the default parameter setup: experimental_scripts.visualization.visualize_all

License

This code is released under the GNU General Public License version 3.

vsa_toolbox's People

Contributors

scken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vsa_toolbox's Issues

Using MAP-I to fish out spatial co-ordinates

Imagine, I put together good face HD profile and keep it in my associative memory! Currently I am building query vector from a image with spatial co-ordinates of each feature bind to its HD. If now bind my face HD profile with query vector! Is there a way to extract spatial co-ordinates of features that matches with face profile HD?

Sorry If I bothered with my questions ๐Ÿ™

Undefined variable 'prob_correct_answer' in boundpairs.m

First of all, I want to say that your paper is great, and really appreciate for sharing your code so others including me can try it.
Thanks to your paper, I have definitely been able to get a better understanding of VSAs.
I would like to inform you that an error occurred when trying to run your code.

At line 93 in boundpairs.m in the experimental_scripts folder,

prob_correct_array(d_idx,:) = prob_correct_answer;

should be changed as follows:

prob_correct_array(d_idx,:) = prob_correct;

because the prob_correct_answer is an undefined variable.
I confirmed that it worked properly after correcting it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.