AutoGluon: AutoML for Text, Image, and Tabular Data¶
AutoGluon enables easy-to-use and easy-to-extend AutoML with a focus on automated stack ensembling, deep learning, and real-world applications spanning text, image, and tabular data. Intended for both ML beginners and experts, AutoGluon enables you to:
Quickly prototype deep learning and classical ML solutions for your raw data with a few lines of code.
Automatically utilize state-of-the-art techniques (where appropriate) without expert knowledge.
Leverage automatic hyperparameter tuning, model selection/ensembling, architecture search, and data processing.
Easily improve/tune your bespoke models and data pipelines, or customize AutoGluon for your use-case.
Note
Example using AutoGluon to train and deploy a high-performance model on a tabular dataset:
>>> from autogluon.tabular import TabularPredictor
>>> predictor = TabularPredictor(label=COLUMN_NAME).fit(train_data=TRAIN_DATA.csv)
>>> predictions = predictor.predict(TEST_DATA.csv)
AutoGluon can be applied just as easily for prediction tasks with image or text data.
Installation¶
Note
AutoGluon requires Python version 3.6, 3.7, or 3.8 (3.8 support is experimental). Linux and Mac are the only operating systems fully supported for now (Windows version will be available soon). For troubleshooting the installation process, you can check the Installation FAQ.
Select your preferences below and run the corresponding install commands:
OS: Linux Mac
Version: PIP Source
Backend: CPU GPU
Command:
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
python3 -m pip install -U "mxnet<2.0.0"
python3 -m pip install autogluon
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
# Here we assume CUDA 10.1 is installed. You should change the number
# according to your own CUDA version (e.g. mxnet_cu100 for CUDA 10.0).
python3 -m pip install -U "mxnet_cu101<2.0.0"
python3 -m pip install autogluon
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
python3 -m pip install -U "mxnet<2.0.0"
git clone https://github.com/awslabs/autogluon
cd autogluon && ./full_install.sh
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
# Here we assume CUDA 10.1 is installed. You should change the number
# according to your own CUDA version (e.g. mxnet_cu102 for CUDA 10.2).
python3 -m pip install -U "mxnet_cu101<2.0.0"
git clone https://github.com/awslabs/autogluon
cd autogluon && ./full_install.sh
Note
If you don’t have them, please first install: XCode, Homebrew, LibOMP. Once you have Homebrew, LibOMP can be installed via:
brew install libomp
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
python3 -m pip install -U "mxnet<2.0.0"
python3 -m pip install autogluon
Note
GPU usage is not yet supported on Mac OSX, please use Linux to utilize GPUs in AutoGluon.
Note
If you don’t have them, please first install: XCode, Homebrew, LibOMP. Once you have Homebrew, LibOMP can be installed via:
brew install libomp
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
python3 -m pip install -U "mxnet<2.0.0"
git clone https://github.com/awslabs/autogluon
cd autogluon && ./full_install.sh
Note
GPU usage is not yet supported on Mac OSX , please use Linux to utilize GPUs in AutoGluon.
AutoGluon is modularized into sub-modules specialized for tabular, text, or image data. You can reduce the number of dependencies required by solely installing a specific sub-module via: python3 -m pip install <submodule>, where <submodule> may be one of the following options:
- autogluon.tabular - only functionality for tabular data (TabularPredictor)
The default installation of autogluon.tabular standalone is a skeleton installation.
Install via pip install autogluon.tabular[all] to get the same installation as via pip install autogluon
Available optional dependencies: lightgbm,catboost,xgboost,fastai. These are included in all.
Experimental optional dependency: skex. This will speedup KNN models by 25x in training and inference on CPU. Use pip install autogluon.tabular[all,skex] to enable, or pip install “scikit-learn-intelex<2021.3” after a standard installation of AutoGluon.
autogluon.vision - only functionality for computer vision (ImagePredictor, ObjectDetector)
autogluon.text - only functionality for natural language processing (TextPredictor)
autogluon.core - only core functionality (Searcher/Scheduler) useful for hyperparameter tuning of arbitrary code/models.
autogluon.features - only functionality for feature generation / feature preprocessing pipelines (primarily related to Tabular data).
autogluon.extra - miscellaneous extra functionality such as Efficient Neural Architecture Search
autogluon.mxnet - miscellaneous extra functionality for MXNet.
Quick Start¶
Application | Illustration |
---|---|
Tabular Prediction: predict values in column of data table based on other columns' values |
|
Image Prediction: recognize the main object in an image |
|
Object Detection: detect multiple objects with their bounding boxes in an image |
|
Text Prediction: make predictions based on text content |
Tutorials¶
How to predict variables in tabular datasets.
How to classify images into various categories.
How to detect objects and their location in images.
How to solve NLP problems via supervised learning from raw text.
Advanced Topics¶
How to hyperparameter-tune your own custom models or Python code.
How to perform neural architecture search.
How to do hyperparameter tuning or architecture search for any PyTorch model.