dpyml - Docker Python Machine Learning Images
dpyml is a Docker base image which can be easily customized so that you can use state of the art Python data wrangling, statistics, machine learning and data visualization libraries.
To build your own customized Docker Python Machine Learning Image, dpyml also provides scripts to build and package your machine learning models with Docker. To build the Docker image you only have to provide a Requirements file (requirements.txt).
Note: My motivation was to have a reproducible environment where I can run my Jupyter Notebooks and machine learning models. Another goal of mine is to have a easy way to package machine learning models as Docker containers. So I came up with this Docker image and scripts. I hope others find it useful as well.
Development Life Cycle with dpyml
The main development statges with dpyml are:
- Build the Docker base image
- Customize the Docker image
- Package (tbd)
First you have to build the base image which will be used by your Docker images. Then based on that image you can modify the requirements.txt file with the Python libraries you want to have include in your customized Docker image. This image can then be used inside a Docker container for development. When you have developed your machine learning model you can package the model inside a new Docker image.
Before you start (Setup the Build Scripts)
Build the Base Image
Note: This image is based on the _ bitnami/minideb:stretch_ Docker image and uses Python 3.6 (Miniconda 4.5.4) with packages from the default and conda-forge channel. The Dockerfile was heavily inspired by the continuumio/miniconda3 Docker image.
Customize your Docker Image
Development - Run your customized Docker Image
Package - Deploy your Machine Learning Model