Installation

System requirements

auto-sklearn has the following system requirements:

In case you try to install Auto-sklearn on a system where no wheel files for the pyrfr package are provided (see here for available wheels) you also need:

For an explanation of missing Microsoft Windows and macOS support please check the Section Windows/macOS compatibility.

Installing auto-sklearn

You can install auto-sklearn with pip in the usual manner:

pip3 install auto-sklearn

We recommend installing auto-sklearn into a virtual environment or an Anaconda environment.

If the pip3 installation command fails, make sure you have the System requirements installed correctly.

Ubuntu installation

To provide Python 3, a C++11 building environment and the latest SWIG version on Ubuntu, run:

sudo apt-get install build-essential swig python3-dev

Anaconda installation

You need to enable conda-forge to install auto-sklearn via anaconda. This section explains how to enable conda-forge so installation can be done with the command conda install auto-sklearn. Optionally, you can also install auto-sklearn with pip as detailed in the Section Installing auto-sklearn.

A common installation problem under recent Linux distribution is the incompatibility of the compiler version used to compile the Python binary shipped by AnaConda and the compiler installed by the distribution. This can be solved by installing the gcc compiler shipped with AnaConda (as well as swig):

conda install gxx_linux-64 gcc_linux-64 swig

Conda-forge

Installing auto-sklearn from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge

conda config --set channel_priority strict

You must have conda >=4.9. To update conda or check your current conda version, please follow the instructions from the official anaconda documentation . Once the conda-forge channel has been enabled, auto-sklearn can be installed with:

conda install auto-sklearn

It is possible to list all of the versions of auto-sklearn available on your platform with:

conda search auto-sklearn --channel conda-forge

to read in more details check auto sklearn feedstock.

for more information about Conda forge check conda-forge documentations.

Source Installation

You can install auto-sklearn directly form source by following the below:

git clone --recurse-submodules git@github.com:automl/auto-sklearn.git
cd auto-sklearn

# Install it in editable mode with all optional dependencies
pip install -e ".[test,doc,examples]"

We use submodules so you will have to make sure the submodule is initialized if you missed the –recurse-submodules option.

git clone git@github.com:automl/auto-sklearn.git
cd auto-sklearn
git submodule update --init --recursive

pip install -e ".[test,doc,examples]"

Windows/macOS compatibility

Windows

auto-sklearn relies heavily on the Python module resource. resource is part of Python’s Unix Specific Services and not available on a Windows machine. Therefore, it is not possible to run auto-sklearn on a Windows machine.

Possible solutions:

  • Windows 10 bash shell (see 431 and 860 for suggestions)

  • virtual machine

  • docker image

macOS

We currently do not know if auto-sklearn works on macOS. There are at least two issues holding us back from actively supporting macOS:

  • The resource module cannot enforce a memory limit on a Python process (see SMAC3/issues/115).

  • Not all dependencies we are using are set up to work on macOS.

In case you’re having issues installing the pyrfr package, check out this installation suggestion on github.

Possible other:

  • virtual machine

  • docker image

Docker Image

A Docker image is also provided on dockerhub. To download from dockerhub, use:

docker pull mfeurer/auto-sklearn:master

You can also verify that the image was downloaded via:

docker images  # Verify that the image was downloaded

This image can be used to start an interactive session as follows:

docker run -it mfeurer/auto-sklearn:master

To start a Jupyter notebook, you could instead run e.g.:

docker run -it -v ${PWD}:/opt/nb -p 8888:8888 mfeurer/auto-sklearn:master /bin/bash -c "mkdir -p /opt/nb && jupyter notebook --notebook-dir=/opt/nb --ip='0.0.0.0' --port=8888 --no-browser --allow-root"

Alternatively, it is possible to use the development version of auto-sklearn by replacing all occurences of master by development.