Skip to content

Introduction to SAIL Models

Dhaval Salwala edited this page Jun 24, 2023 · 6 revisions

SAIL Model Framework

SAIL provides wrappers for machine learning models created using popular machine learning (ML) libraries. It wraps ML models and exposes Scikit-learn like APIs for uniform experiences across the SAIL Ecosystem - Models, Training and Pipelines.

The SAIL Model is an abstract layer that enforces and provides standard APIs to access ML models built using libraries like PyTorch (Paszke 2019), Keras (Chollet 2015), River (Montiel 2021) and Scikit-learn (Pedregosa 2011). It follows Scikit-learn-like terminology and routines and provides a consistent experience across cross-library model training. The Model API inside the SAIL Pipeline complements the SAIL Model with Distributed Hyper-parameter Optimisation (HPO), model selection and incremental training operations. It has broad applicability with choices of fitting the estimator from scratch or partially fitting a trained estimator on the new data.

SAIL contains wrappers for:

  • River
  • TensorFlow / Keras
  • PyTorch
  • SAIL native models
  • Ensemble models via Scikit-multiflow

Once wrapped inside a SAIL wrapper, the ML model can be used interchangeably with SAIL Pipelines, SAIL AutoML, and distributed training / tuning using the Ray API.

Model Implementations

SAIL models are available at sail/models

Serialisation

SAIL models are injected with serialisation APIs via a mixin class at the base level. Hence, all SAIL models have save_model and load_model routines by default. Please check tests classes in tests/models.