/nn-template

Generic template to bootstrap your PyTorch project.

Primary LanguagePythonMIT LicenseMIT

NN Template

CI CI Docs Release Code style: black

"We demand rigidly defined areas of doubt and uncertainty."

Generic template to bootstrap your PyTorch project, read more in the documentation.

asciicast

Get started

If you already know cookiecutter, just generate your project with:

cookiecutter https://github.com/grok-ai/nn-template
Otherwise Cookiecutter manages the setup stages and delivers to you a personalized ready to run project.

Install it with:

pip install cookiecutter

More details in the documentation.

Strengths

  • Actually works for research!
  • Guided setup to customize project bootstrapping;
  • Fast prototyping of new ideas, no need to build a new code base from scratch;
  • Less boilerplate with no impact on the learning curve (as long as you know the integrated tools);
  • Ensure experiments reproducibility;
  • Automatize via GitHub actions: testing, stylish documentation deploy, PyPi upload;
  • Enforce Python best practices;
  • Many more in the documentation;

Integrations

Avoid writing boilerplate code to integrate:

  • PyTorch Lightning, lightweight PyTorch wrapper for high-performance AI research.
  • Hydra, a framework for elegantly configuring complex applications.
  • Hugging Face Datasets,a library for easily accessing and sharing datasets.
  • Weights and Biases, organize and analyze machine learning experiments. (educational account available)
  • Streamlit, turns data scripts into shareable web apps in minutes.
  • MkDocs and Material for MkDocs, a fast, simple and downright gorgeous static site generator.
  • DVC, track large files, directories, or ML models. Think "Git for data".
  • GitHub Actions, to run the tests, publish the documentation and to PyPI automatically.
  • Python best practices for developing and publishing research projects.

Maintainers