dlproject

GitHub release PyPI License: MIT Documentation Status Code style: black Open in Colab Open in Visual Studio Code

An opinionated template for deep learning projects.

Description

dlproject believes three things.

  1. All code should be documented.

  2. All experiments should be logged.

  3. Configs are better than constants.

Installation

These instructions assume you are using a linux machine with at least one GPU (CUDA 11.1).

  1. Create a new repository using this template and change to the root directory. For example,

    git clone git@github.com:benjamindkilleen/dlproject.git
    cd dlproject
    
  2. Install dependencies using either Anaconda (preferred) or Pip:

    • Anaconda: modify environment.yml to suit your needs. Then run:

      conda env create -f environment.yml
      conda activate dlproject
      

      This will create a new environment with the project installed as an edit-able package.

    • Pip: Install Pytorch to ensure GPU available. Then:

      pip install -r requirements.txt
      pip install -e .
      

Usage

The project is separated into “experiments,” which are just different main functions. Use the experiment group parameter to change which experiment is running. For example:

python main.py experiment=mnist

The results are then neatly sorted into the newly-created results directory (ignored by default). This is important for reproduceability, utilizing Hydra’s automatic logging and config storage.

Documentation

Documentation and tutorials for dlproject are available here. You should document your code as you go. If you use Visual Studio Code, this is an extension which will create Google style docstrings automatically.

To build the docstrings you write into a local static web-page, run

pip install -r docs/requirements.txt
sphinx-apidoc -f -o docs/source dlproject
cd docs
make html

And open /docs/build/html/index.html in your browser.

Citation

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