Python modules

Seldon provides a set of python modules to help construct feature pipelines for use inside Seldon.

You can install the python modules in three ways:

Docker

A Docker image contains the python modules and all dependencies needed.

   docker pull seldonio/pyseldon:1.17

Local build software

There are dependencies for local software for the python/pip install to run successfully as well as dependencies for the libraries such as vowpal wabbit. For debian based systems these would be satisfied with:

apt-get update
apt-get install build-essential automake autoconf libxmu-dev g++ gcc libpthread-stubs0-dev libtool libboost-program-options-dev libboost-python-dev zlib1g-dev libc6 libgcc1 libstdc++6 libblas-dev liblapack-dev git telnet procps memcached libmemcached-dev

For OSX you will need at least:

brew install libmemcached mysql

Pip

Two custom libraries are needed - a Seldon fork of wabbit_wappa and BayesianOptimization if you wish to optimize hyper parameters in pipeline estimators.

Python install

      pip install -e git+git://github.com/fmfn/BayesianOptimization#egg=bayes_opt
    
 python setup.py install

Module Dependencies

The core module dependencies are:

The above packages themselves have many dependencies so if you are starting from scratch it may be best to install Anaconda which will provide many of the dependencies. Depending on the version of anaconda you install you may need to upgrade some packages to their latest, e.g.

pip install pandas --upgrade
pip install sklearn --upgrade

You should install the local software needed as gven above or follow the steps in the pyseldon Dockerfile which gives install commands of how to satisfy the dependencies if you wish to run a local custom install. The Dockerfile is inherited fron anaconda which uses a debian base image. For other linux based systems the commands to get the correct software may vary.