/fsdl-text-recognizer-2022-labs

Complete deep learning project developed in Full Stack Deep Learning, 2022 edition. Generated automatically from https://github.com/full-stack-deep-learning/fsdl-text-recognizer-2022

Primary LanguageJupyter NotebookMIT LicenseMIT

🥞 Full Stack Deep Learning Fall 2022 Labs

CI

Welcome!

As part of Full Stack Deep Learning 2022, we will incrementally develop a complete deep learning codebase to create and deploy a model that understands the content of hand-written paragraphs.

For an overview of the Text Recognizer application architecture, click the badge below to open an interactive Jupyter notebook on Google Colab:


We will use the modern stack of PyTorch and PyTorch Lightning.

We will use the main workhorses of DL today: CNNs and Transformers.

We will manage our experiments using what we believe to be the best tool for the job: Weights & Biases.

We will set up a quality assurance and continuous integration system for our codebase using pre-commit and GitHub Actions.

We will package up the prediction system and deploy it as a Docker container on AWS Lambda.

We will wrap that prediction system in a frontend written in Python using Gradio.

We will set up monitoring that alerts us to potential issues in our model using Gantry.

Click the badges below to access individual lab notebooks on Colab and videos on YouTube

Lab Colab Video
Lab Overview open-in-colab yt-logo
Lab 01: Deep Neural Networks in PyTorch open-in-colab yt-logo
Lab 02a: PyTorch Lightning open-in-colab yt-logo
Lab 02b: Training a CNN on Synthetic Handwriting Data open-in-colab yt-logo
Lab 03: Transformers and Paragraphs open-in-colab yt-logo
Lab 04: Experiment Tracking open-in-colab yt-logo
Lab 05: Troubleshooting & Testing open-in-colab yt-logo
Lab 06: Data Annotation open-in-colab yt-logo
Lab 07: Deployment open-in-colab yt-logo
Lab 08: Monitoring open-in-colab yt-logo

Project cheatsheet

  • pre-commit: pre-commit run --all-files
  • pytest: pytest or pytest -s
  • coverage: coverage run -m pytest or coverage html
  • poetry sync: poetry install --no-root --sync
  • updating requirements: see docs/updating_requirements.md
  • create towncrier entry: towncrier create 123.added --edit

Initial project setup

  1. See docs/getting_started.md or docs/quickstart.md for how to get up & running.
  2. Check docs/project_specific_setup.md for project specific setup.
  3. See docs/using_poetry.md for how to update Python requirements using Poetry.
  4. See docs/detect_secrets.md for more on creating a .secrets.baseline file using detect-secrets.
  5. See docs/using_towncrier.md for how to update the CHANGELOG.md using towncrier.