https://github.com/ges233/glowworm
Simple neural simulation model.
https://github.com/ges233/glowworm
proof-of-concept simulation snn spiking-neural-networks
Last synced: 10 months ago
JSON representation
Simple neural simulation model.
- Host: GitHub
- URL: https://github.com/ges233/glowworm
- Owner: GES233
- Created: 2024-01-29T10:49:55.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-20T15:47:46.000Z (about 1 year ago)
- Last Synced: 2024-11-20T16:40:33.615Z (about 1 year ago)
- Topics: proof-of-concept, simulation, snn, spiking-neural-networks
- Language: Elixir
- Homepage:
- Size: 956 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [WIP] Glowworm
Simple PoC of neural simulation model.
> **warning**
>
> This is just a model to verify feasibility and may be deprecated at any time.
[简体中文](/README.zh-Hans.md)
The original idea from [spikingnn](https://web.archive.org/web/20190715023747/http://www.spikingnn.net/English/index.html). This is an elixir implementation with asynchoronous format.
Recording of idea: [Interactive testbed for cortical modeling? - Elixir Framework Forums / Nx Forum - Elixir Programming Language Forum](https://elixirforum.com/t/interactive-testbed-for-cortical-modeling/61178/3)
Simulation of neuron references amiryt's [Erlang-project](https://github.com/amiryt/Erlang-project), and hierarchical architecture inspired by [ThousandIsland](https://github.com/mtrudel/thousand_island).
Architecture of application like following graph:
```mermaid
graph TD
Application --> NeuronSupervisor
NeuronSupervisor --1..n--> Neuron["Neuron GenServer"]
Application --> PortScheduler("PortScheduler")
PortScheduler --1..m--> Port("Port")
Port <-.simulus or record.-> Neuron
Neuron <-.communication.-> Neuron
Neuron --> SomaRunner("SomaRunner :gen_statem") --> Container("Param and State Container: Agent")
Neuron --> SynapseRunner("SynapseRunner :gen_statem") --> Container("Param and State Container: Agent")
SynapseRunner -.current.-> SomaRunner
Models -.require.-> SomaRunner
Models -.require.-> SynapseRunner
```
## Installation
```elixir
def deps do
[
{:glowworm, git: "https://github.com/GES233/Glowworm.git"}
]
end
```