Code Monkey home page Code Monkey logo

collective_dynamics_neuristor's Introduction

Collective dynamics and long-range order in thermal neuristor networks

This repository contains source code for reproducing the results in the paper Collective dynamics and long-range order in thermal neuristor networks. ArXiv link: arXiv:2312.12899.

Here is another relevant paper on thermal neuristors: Reconfigurable Cascaded Thermal Neuristors for Neuromorphic Computing

Requirements: NumPy, SciPy, PyTorch >= 2.3.0, TorchVision. The code is tested in the following environment: Ubuntu 18.04, NVIDIA TITAN RTX GPU with 24GB memory, CUDA 11.3, Python 3.9.13, NumPy 1.23.1, SciPy 1.9.3, PyTorch 2.3.0, TorchVision 0.18.0.

Usage:

python main.py computes the avalanche size distribution with specific parameters. Takes about 30 minutes in the test environment. Under the default setting, this script computes the distribution corresponding to Fig. 3(a) in the paper, saves the data to the directory avalanches/, and plots the snapshots of the dynamics, saving them to the directory graphs/. Further running python avalanche_fit.py will read the data in avalanches/ and plot the avalanche size distributions. One can change the parameters and play with different settings of the neuristor network by modifying the file main.py.

python optimizer.py uses reservoir computing to classify the MNIST handwritten digit dataset. Takes about 30 minutes in the test environment. Parameters of the reservoir (which is an array of thermal neuristors) are pre-tuned, while a fully-connected output layer is trained for 20 epochs.

python optimizer_KS.py uses reservoir computing to predict the chaotic dynamics governed by the 2D Kuramoto-Sivashinsky equations. Takes about 3 minutes in the test environment. The trained reservoir weights, predictions and ground truths are saved in ckpts/, and one can further run python visualize_trajectory.py to plot the predicted vs. actual dynamics.

The file data.zip contains raw experimental data in Fig. 1 and Fig. 5 from our paper. A description of the data is also provided within the zip file.

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.