Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/grok-ai/nn-template

Generic template to bootstrap your PyTorch project.
https://github.com/grok-ai/nn-template

best-practices best-practises cookiecutter deep-learning dvc github-actions huggingface-datasets hydra mkdocs pre-commit project-structure pytorch pytorch-lightning reproducibility research streamlit template wandb weights-and-biases

Last synced: 29 days ago
JSON representation

Generic template to bootstrap your PyTorch project.

Awesome Lists containing this project

README

        

# NN Template


CI
CI
Docs
Release
Code style: black

[comment]: <> (

)

[comment]: <> ( PyTorch)

[comment]: <> ( Lightning)

[comment]: <> ( Conf: hydra)

[comment]: <> ( Logging: wandb)

[comment]: <> ( Conf: hydra)

[comment]: <> ( UI: streamlit)

[comment]: <> (

)



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

Generic template to bootstrap your [PyTorch](https://pytorch.org/get-started/locally/) project,
read more in the [documentation](https://grok-ai.github.io/nn-template).

[![asciicast](https://asciinema.org/a/475623.svg)](https://asciinema.org/a/475623)

## Get started

If you already know [cookiecutter](https://github.com/cookiecutter/cookiecutter), just generate your project with:

```bash
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](https://grok-ai.github.io/nn-template/latest/getting-started/generation/).

## Strengths

- **Actually works for [research](https://grok-ai.github.io/nn-template/latest/papers/)**!
- 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](https://grok-ai.github.io/nn-template/latest/features/bestpractices/);
- Many more in the [documentation](https://grok-ai.github.io/nn-template/latest/features/nncore/);

## Integrations

Avoid writing boilerplate code to integrate:

- [PyTorch Lightning](https://github.com/PyTorchLightning/pytorch-lightning), lightweight PyTorch wrapper for high-performance AI research.
- [Hydra](https://github.com/facebookresearch/hydra), a framework for elegantly configuring complex applications.
- [Hugging Face Datasets](https://huggingface.co/docs/datasets/index),a library for easily accessing and sharing datasets.
- [Weights and Biases](https://wandb.ai/home), organize and analyze machine learning experiments. *(educational account available)*
- [Streamlit](https://streamlit.io/), turns data scripts into shareable web apps in minutes.
- [MkDocs](https://www.mkdocs.org/) and [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/), a fast, simple and downright gorgeous static site generator.
- [DVC](https://dvc.org/doc/start/data-versioning), track large files, directories, or ML models. Think "Git for data".
- [GitHub Actions](https://github.com/features/actions), to run the tests, publish the documentation and to PyPI automatically.
- Python best practices for developing and publishing research projects.

## Maintainers

- Valentino Maiorca [@Flegyas](https://github.com/Flegyas)
- Luca Moschella [@lucmos](https://github.com/lucmos)