Skip to main content

A powerful API to Automate Machine Learning workflows from multiple vendors.

Project description

a2ml - Automation of AutoML

CircleCI Join the chat License Python PyPI - A2ML Versions

The A2ML ("Automate AutoML") project is a Python API and set of command line tools to automate Automated Machine Learning tools from multiple vendors. The intention is to provide a common API for all Cloud-oriented AutoML vendors. Data scientists can then train their datasets against multiple AutoML models to get the best possible predictive model. May the best "algorithm/hyperparameter search" win. Full documentation for A2ML is available at a2ml.org

The PREDIT Pipeline

Every AutoML vendor has their own API to manage the datasets and create and manage predictive models. They are similar but not identical APIs. But they share a common set of stages:

  • Importing data for training
  • Train models with multiple algorithms and hyperparameters
  • Evaluate model performance and choose one or more for deployment
  • Deploy selected models
  • Predict results with new data against deployed models
  • Review performance of deployed models

Since ITEDPR is hard to remember we refer to this pipeline by its conveniently mnemonic anagram: "PREDIT" (French for "predict"). The A2ML project provides classes which implement this pipeline for various Cloud AutoML providers and a command line interface that invokes stages of the pipeline.

Setup

A2ML is distributed as a python package, so to install it:

$ pip install -U a2ml

It will install Auger provider.

To use Azure AutoML:

Mac:

$ brew install libomp

For Mac OS High Sierra and below:

$ SKLEARN_NO_OPENMP=1 pip install "scikit-learn==0.21.3"
$ pip install "a2ml[azure]" --ignore-installed onnxruntime onnx nimbusml

Linux:

$ apt-get update && apt-get -y install gcc g++ libgomp1
$ pip install "a2ml[azure]"

To use Google Cloud:

$ pip install "a2ml[google]"

To install everything including testing and server code:

$ pip install "a2ml[all]"

Development

To release a new version the flow should be:

  1. Change the __version__ variable in a2ml/__init__.py to match what you want to release, minus the "v". By default it would be ".dev0", for example "0.3.0.dev0". This ensures we don’t accidentally release a dev version to pypi.org. So for when we’re ready to release 0.3.0, the __version__ variable should simply be "0.3.0".

  2. Commit and push the changes above.

git tag v<the-version> (for example: git tag v0.3.0)
git push --tags
  1. verify circleci build passed and docker image tag exists:
pip install -U a2ml==0.3.0
docker pull augerai/a2ml:v0.3.0
  1. Increment the __version__ variable in a2ml/__init__.py to the next version in the current milestone. For example, "0.3.1.dev0"

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

a2ml-0.6.14.tar.gz (105.7 kB view details)

Uploaded Source

Built Distribution

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

a2ml-0.6.14-py3-none-any.whl (158.6 kB view details)

Uploaded Python 3

File details

Details for the file a2ml-0.6.14.tar.gz.

File metadata

  • Download URL: a2ml-0.6.14.tar.gz
  • Upload date:
  • Size: 105.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

File hashes

Hashes for a2ml-0.6.14.tar.gz
Algorithm Hash digest
SHA256 6f0721b763acc30f01f39b5dc73a90dd80f3c648157279cda0da53abaae08939
MD5 f19a35fc6672cff00cf69049c5fff51c
BLAKE2b-256 45bea2dec40fcf96beb84408b2fe8c92d1e290b406470389b83777cc3ec795a0

See more details on using hashes here.

File details

Details for the file a2ml-0.6.14-py3-none-any.whl.

File metadata

  • Download URL: a2ml-0.6.14-py3-none-any.whl
  • Upload date:
  • Size: 158.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

File hashes

Hashes for a2ml-0.6.14-py3-none-any.whl
Algorithm Hash digest
SHA256 224a538951f2bcba5dd443d51d7d4a8c117fe52563eceea79be55f262a0c05bc
MD5 2f5aab44872feb75c426db88e312b619
BLAKE2b-256 6ada1d8d7214e455ca93333d15dcb68c25c7404c54db1280b32acf7ef51f2d91

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