This directory contains files associated with low rank training research. There are two primary development paths: a PyTorch version for fast batch training to test high-level ideas in pytorch
and a NumPy version for implementing low rank training in lr
. Runs of either path produce debug output files in analysis
and scripts in that folder allow for interesting analysis of training behavior.
The main dependencies are shown below.
Python 3.6
PyTorch 1.1.0
TorchVision 0.2.2
numpy
,scipy
,matplotlib
,h5py
numba
,profilehooks
,opencv-python
- Note that
numba
may require additional installs such as llvm.
- Note that
lr/main.py
: The main LR training file (see file for argument options).pytorch/main.py
: Script for running a PyTorch version to get initial weights (see file for argument options).analysis/Plots.ipynb
: Experiment plots used in the paper.
cd
to the root directoryLR_train
and activate the python environment (if any).$ pip install -r requirements.txt
$ pip install -e .
$ ./run.sh lrt-base
$ cd data
$ jupyter notebook .
- Open
MNIST Dataset Generator.ipynb
- Run all cells (should take less than 2 hours).
Find the ID of the experiment you would like to run in ./lr/experiments.py
which should have the form lrt-xxx*
.
cd
to the root directoryLR_train
../run.sh lrt-xxx*
cd
to the root directoryLR_train
./pytorch/experiments.sh