Skip to main content

Python package for streaming data and incremental learning

Project description

AUTOSAIL

License: MIT main branch Code style: black

The library is for experimenting with streaming processing engines (SPEs) and incremental machine learning (IML) models. The main features of AutoSail are:

  • Common interface for all incremental models available in libraries like Scikit-Learn, Pytorch, Keras and River.
  • Distributed computing for model selection, ensembling etc.
  • Hyperparameter optimization for incremental models.
  • Interface and pipelines that implement incremental models for both offline and online learning.
  • A robust framework to construct an end-to- end AutoML pipeline with pipeline strategies that enables data ingestion, feature engineering, model selection, incremental training, and monitoring for data drifts on a streaming data.

Documentation

See the AutoSAIL Wiki for full documentation, installation guide, operational details and other information.

Architecture

AutoSAIL Pipeline

Architecture

AutoSAIL Model Framework

Architecture

Difference with River and other existing incremental machine learning libraries.

AutoSAIL leverages the existing machine learning libraries like River, sklearn etc and creates a common set of APIs to run these models in the backend. In particular, while River provides minimal utilities for deep learning models, it does not focus on deep learning models developed through Pytorch and Keras. In addition, models in AutoSAIL are parallelized using Ray. The parallelization results in three major advatages that are particularly important for incremental models with high volume and high velocity data:

  • Faster computational times for ensemble models.
  • Faster computational times for ensemble of forecasts.
  • Creates a clean interface for developing AutoML algorithms for incremental models.

Spark vs Ray for incremental models.

AutoSAIL could have been parallelized using Spark as well. However, to keep the streaming processing engines and machine learning tasks independent, Ray was preferred as the data can then be handled using Pandas, Numpy etc efficiently. This flexibility further allows using other SPEs like Flink or Storm without updating the parallelization framework for IML models.

🛠 Installation

AutoSAIL is intended to work with Python 3.8 and above. You can install the latest version from GitHub as so:

git clone https://github.com/IBM/autosail.git
cd autosail
pip install -e ".[OPTION]"

Supported OPTION include:

  • tensorflow
  • tensorflow_arm64
  • pytorch
  • river
  • ray
  • dev
  • tests
  • examples : to run notebooks and examples
  • all : all of the above
  • all_arm64 : Apple ARM64 version all of the above

✍️ Examples and Notebooks

Examples and notebooks are located in the examples and notebook respectively. Please run the below command to install the necessary packages to run examples.

pip install -e ".[examples]"

Recognition

AUTOSAIL has been identified as innovations with market potential that can contribute to UN Sustainable Development Goals by the European Commission Innovation Radar. More details here.

Acknowledgment

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 957345 for MORE project.

Project details


Download files

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

Source Distribution

autosail-0.14.0.tar.gz (85.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autosail-0.14.0-py3-none-any.whl (114.1 kB view details)

Uploaded Python 3

File details

Details for the file autosail-0.14.0.tar.gz.

File metadata

  • Download URL: autosail-0.14.0.tar.gz
  • Upload date:
  • Size: 85.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for autosail-0.14.0.tar.gz
Algorithm Hash digest
SHA256 dc465c23372c3af763a27d3bf1910ab4a0467d1af0226429aef2ae96aafde838
MD5 f1856c2234c33cc10ff1c74b70cf5a21
BLAKE2b-256 685c659f8bb036fc54b6fa3986a378238cefd1af5d8e8d7adc24ccda5b71b279

See more details on using hashes here.

File details

Details for the file autosail-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: autosail-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 114.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for autosail-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 af371b5055d27e6c077de3aa4a38a62fac3adffe6cc1a7502096263f732e3447
MD5 93f4b54176f1078730822421b25a26de
BLAKE2b-256 b5670bd15a8ab2b66a12737a96625f9c124c436fbc1586351602279ab7336c12

See more details on using hashes here.

Supported by

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