Skip to main content

A framework of tools to structure, configure and drive deep learning projects

Project description

serotiny

While going about the work of building deep learning projects, several simultaneous problems seemed to emerge:

  • How do we reuse as much work from previous projects as possible, and focus on building the part of the project that makes it distinct?
  • How can we automate the generation of new models that are based on existing models, but vary in a crucial yet non-trivial way?
  • When generating a multiplicity of related models, how can we keep all of the results, predictions, and analyses straight?
  • How can the results from any number of trainings and predictions be compared and integrated in an insightful yet generally applicable way?

Serotiny arose from the need to address these issues and convert the complexity of deep learning projects into something simple, reproducible, configurable, and automatable at scale.

Serotiny is still a work-in-progress, but as we go along the solutions to these problems become more clear. Maybe you've run into similar situations? We'd love to hear from you.

Overview

serotiny is a framework and set of tools to structure, configure and drive deep learning projects, developed with the intention of streamlining the lifecycle of deep learning projects at Allen Institute for Cell Science.

It achieves this goal by:

  • Standardizing the structure of DL projects
  • Relying on the modularity afforded by this standard structure to make DL projects highly configurable, using hydra as the framework for configuration
  • Making it easy to adopt best-practices and latest-developments in DL infrastructure by tightly integrating with
    • Pytorch Lightning for neural net training/testing/prediction
    • MLFlow for experiment tracking and artifact management

In doing so, DL projects become reproducible, easy to collaborate on and can benefit from general and powerful tooling.

Getting started

For more information, check our documentation, or jump straight into our getting started page, and learn how training a DL model can be as simple as:

$ serotiny train data=my_dataset model=my_model

Authors

  • Guilherme Pires @colobas
  • Ryan Spangler @prismofeverything
  • Ritvik Vasan @ritvikvasan
  • Caleb Chan @calebium
  • Theo Knijnenburg @tknijnen
  • Nick Gomez @gomeznick86

Citing

If you find serotiny useful, please cite this repository as:

Serotiny Authors (2022). Serotiny: a framework of tools to structure, configure and drive deep learning projects [Computer software]. GitHub. https://github.com/AllenCellModeling/serotiny
Free software: BSD-3-Clause

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

serotiny-1.0.0.dev202301242353.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

serotiny-1.0.0.dev202301242353-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file serotiny-1.0.0.dev202301242353.tar.gz.

File metadata

File hashes

Hashes for serotiny-1.0.0.dev202301242353.tar.gz
Algorithm Hash digest
SHA256 b44f8d8de74075485aea4c5b05cc5e7e9f33d151c100696d3ad51b6c8281959c
MD5 0c4aa1bb103aa4c5103cf6cf57803fd8
BLAKE2b-256 4abe9165c99c119b3b8d40a7bdc8ae738b89dd0559c8afa7647d7b253221f4ed

See more details on using hashes here.

File details

Details for the file serotiny-1.0.0.dev202301242353-py3-none-any.whl.

File metadata

File hashes

Hashes for serotiny-1.0.0.dev202301242353-py3-none-any.whl
Algorithm Hash digest
SHA256 2c49bdba0d0602997d6b85e02bd8efd3db304525a3939e2e6655eb3ee6d7d847
MD5 29e79c4a24a0df94ee471d4944155d8e
BLAKE2b-256 0a746a54a8ee3696dd3607fb1f2ec9aa74d6a745dfd1c8434f5ba1472a6f5daf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page