Skip to content

Barchid/lava-dl-lightning

Repository files navigation

Deep learning project seed

Use this seed to start new deep learning / ML projects.

  • Built in setup.py
  • Built in requirements
  • Examples with MNIST
  • Badges
  • Bibtex

Goals

The goal of this seed is to structure ML paper-code the same so that work can easily be extended and replicated.

DELETE EVERYTHING ABOVE FOR YOUR PROJECT


Your Project Name

Paper Conference Conference Conference

CI testing

Description

What it does

How to run

Requires Python 3.8+. First, install dependencies

# Create environment
cd ~
conda create -n lava python=3.8
conda activate lava
pip install -U pip

# Install Lava
git clone git@github.com:lava-nc/lava.git
cd lava
pip install -r build-requirements.txt
pip install -r requirements.txt
export PYTHONPATH=$(pwd)/src
ulimit -n 2048 # required or else the pyb command will be stuck
pyb -E unit

# Install lava-dl
cd ~
git clone git@github.com:lava-nc/lava-dl.git
cd lava-dl
pip install -r build-requirements.txt
pip install -r requirements.txt
export PYTHONPATH=$PYTHONPATH:$(pwd)/src
pyb -E unit

git clone https://github.com/Barchid/lava-dl-lightning
cd lava-dl-lightning

# install pytorch-lightning & other useful libs
pip install pytorch-lightning torchmetrics

Next, navigate to any file and run it.

# module folder
cd project

# run module (example: mnist as your main contribution)   
python lit_classifier_main.py    

Imports

This project is setup as a package which means you can now easily import any file into any other file like so:

from project.datasets.mnist import mnist
from project.lit_classifier_main import LitClassifier
from pytorch_lightning import Trainer

# model
model = LitClassifier()

# data
train, val, test = mnist()

# train
trainer = Trainer()
trainer.fit(model, train, val)

# test using the best model!
trainer.test(test_dataloaders=test)

Citation

@article{YourName,
  title={Your Title},
  author={Your team},
  journal={Location},
  year={Year}
}

Plan

  • Prints SDN to know about the input/output tensors
  • Make nmnist work + prints to know about
    • Print after Spike classifiers #!important
  • DVSGesture Datamodule
    • Transforms
    • Tonic
  • Model Slayer
  • Lightning Module
  • Make it run
  • Make Notebook

Barlow Twins

  • DataModule + transforms (simple)
  • Model
  • How to get good representation ?
    • Rate of spikes ?
    • SpikeMax ?
    • Latency ?
    • Mean over output spike trains ?
    • ANN projector ?
  • Launch

About

Lava-DL, but with PyTorch-Lightning flavour

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages