Awesome
NN Template
<p align="center"> <a href="https://github.com/grok-ai/nn-template/actions/workflows/test_suite.yml"><img alt="CI" src=https://github.com/grok-ai/nn-template/actions/workflows/test_suite.yml/badge.svg?branch=main></a> <a href="https://github.com/grok-ai/nn-template/actions/workflows/test_suite.yml"><img alt="CI" src=https://github.com/grok-ai/nn-template/actions/workflows/test_suite.yml/badge.svg?branch=develop></a> <a href="https://github.com/grok-ai/nn-template/actions/workflows/publish_docs.yml/badge.svg"><img alt="Docs" src=https://github.com/grok-ai/nn-template/actions/workflows/publish_docs.yml/badge.svg></a> <a href="https://pypi.org/project/nn-template-core/"><img alt="Release" src="https://img.shields.io/pypi/v/nn-template-core?label=nn-core"></a> <a href="https://black.readthedocs.io/en/stable/"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a> </p> <p align="center"> <i> "We demand rigidly defined areas of doubt and uncertainty." </i> </p>Generic template to bootstrap your PyTorch project, read more in the documentation.
Get started
If you already know cookiecutter, just generate your project with:
cookiecutter https://github.com/grok-ai/nn-template
<details>
<summary>Otherwise</summary>
Cookiecutter manages the setup stages and delivers to you a personalized ready to run project.
Install it with:
<pre><code>pip install cookiecutter </code></pre> </details>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.