Welcome to Masterful: The Training Platform for Computer Vision Models
======================================================================
Intro
-----
Masterful is the training platform for computer vision models. Masterful supports most types of classification, detection, and segmentation.
Masterful is designed with three objectives.
1. Training a more accurate model through comprehensive regularization and semi-supervised learning (e.g. learning from raw, unlabeled images).
2. Reduce developer time spent on hyperparameter tuning through high-speed metalearning. It's a waste of developer time to guess-and-check of hyperparameters or do long runs with a black box optimizer.
3. Train models using the minimum compute resources (GPU-hours and wall clock time), which is achieved through high-speed metalearning to discover ideal optimization hyperparameters.
Currently available for Tensorflow2, with PyTorch support coming soon.
Getting Started
---------------
Install with ``pip install --upgrade pip; pip install masterful``.
For detailed installation instructions, visit the :doc:`tutorials/tutorial_installation`.
Then execute your first training run with Masterful with the :doc:`notebooks/tutorial_quickstart`.
Finally, visualize Masterful's performance with the :doc:`tutorials/tutorial_frontend`.
.. raw:: html
Where Masterful Fits
--------------------
Users define the two inputs to Masterful:
* Model architecture
* Data
Masterful processes these inputs through four modules:
* Regularization, which improves accuracy from the existing information
* Semi-supervised learning (SSL), which improves accuracy by learning from raw, unlabeled images
* Optimization, which minimizes GPU-hours to train
* Meta-learning, which minimizes developer "guessing and checking" or long-runs for black box optimization.
Masterful returns a train model (e.g. model weights).
.. image:: _static/arch.png
Citing This Work
----------------
If you use Masterful for academic research, you are encouraged to cite the following technical report:
::
@article{wookeyhorikert2022masterful,
title={Masterful: A Training Platform for Computer Vision Models},
author={Wookey, Samuel and Ho, Yaoshiang and Rikert, Tom},
year={2022}
}
Documentation
-------------
The rest of the documentation is organized into the following sections:
Image Classification, Detection, and Segmentation
Code examples to help you get started with the Masterful AutoML platform.
Semi-Supervised Learning
Code examples exploring Semi-Supervised learning using Masterful.
Advanced Topics
Code examples for advanced use cases.
Concepts
The theory and thinking behind Masterful.
API Reference
Documenting the classes, methods, and functions.
FAQ
Frequently Asked Questions
Release Notes
Changes in each release.
.. toctree::
:maxdepth: 1
:caption: Getting Started
:hidden:
:includehidden:
Installation
Quickstart Tutorial
Visualizing the Results
.. toctree::
:maxdepth: 1
:caption: Image Classification, Detection, and Segmentation
:hidden:
:includehidden:
Classification
Object Detection
Semantic Segmentation
.. toctree::
:maxdepth: 1
:caption: Semi-Supervised Learning
:hidden:
:includehidden:
Introduction to SSL
Using Unlabeled Data Part 1
Using Unlabeled Data Part 2
Simple Semi-Supervised Learning Recipe
Unsupervised Pre-Training
.. toctree::
:maxdepth: 1
:caption: Advanced Topics
:hidden:
:includehidden:
Data Input Types
Batch Size and Learning Rate Finder
Transfer Learning
Ensembling
Distillation
.. toctree::
:maxdepth: 2
:caption: Concepts
:hidden:
:includehidden:
The Concepts Within the Masterful AutoML Platform
Architecture And Data Params
.. toctree::
:maxdepth: 3
:caption: API Reference
:hidden:
:includehidden:
masterful.architecture
masterful.data
masterful.enums
masterful.evaluation
masterful.optimization
masterful.register
masterful.regularization
masterful.ssl
masterful.training
.. toctree::
:maxdepth: 3
:caption: FAQ
:hidden:
:includehidden:
faq/faq
.. toctree::
:maxdepth: 3
:caption: Release Notes
:hidden:
:includehidden:
release_notes/release_notes