Oblynx / HierarchicalTemporalMemory.jl

A simple, high-level Julia implementation of Numenta HTM algorithms
https://oblynx.github.io/HierarchicalTemporalMemory.jl
MIT License
21 stars 3 forks source link

Explore SparseArrayKit.jl (DOK format, N-D tensors) #56

Open Oblynx opened 3 years ago

Oblynx commented 3 years ago

https://github.com/Jutho/SparseArrayKit.jl

N-D tensors

Synapses are by nature 2D (pre-, post-synaptic addresses). In case of multiple spatial dimensions, no reason to burden the synapse matrices with those but rather should calculate linear addresses as is currently done. However a CSC [pre x post] synapse matrix has 2 disadvantages:

Dict of Keys (DOK) format

This format provides O(1) access in both directions + insertion, so it's interesting to compare performance in practice.

Adopting this for DistalSynapses would also eliminate hacky code to resize the CSC with minimum loss.

pitsianis commented 3 years ago

The flow of information on a matrix is always from columns to rows, so it should be [post x pre], right?