Use this seed to start new deep learning / ML projects.
- Built in setup.py
- Built in requirements
- Examples with MNIST
- Badges
- Bibtex
The goal of this seed is to structure ML paper-code the same so that work can easily be extended and replicated.
What it does
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
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)
@article{YourName,
title={Your Title},
author={Your team},
journal={Location},
year={Year}
}
- 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
- DataModule + transforms (simple)
- Model
- How to get good representation ?
- Rate of spikes ?
- SpikeMax ?
- Latency ?
- Mean over output spike trains ?
- ANN projector ?
- Launch