Book Image

Machine Learning Engineering with MLflow

By : Natu Lauchande
2 (1)
Book Image

Machine Learning Engineering with MLflow

2 (1)
By: Natu Lauchande

Overview of this book

MLflow is a platform for the machine learning life cycle that enables structured development and iteration of machine learning models and a seamless transition into scalable production environments. This book will take you through the different features of MLflow and how you can implement them in your ML project. You will begin by framing an ML problem and then transform your solution with MLflow, adding a workbench environment, training infrastructure, data management, model management, experimentation, and state-of-the-art ML deployment techniques on the cloud and premises. The book also explores techniques to scale up your workflow as well as performance monitoring techniques. As you progress, you’ll discover how to create an operational dashboard to manage machine learning systems. Later, you will learn how you can use MLflow in the AutoML, anomaly detection, and deep learning context with the help of use cases. In addition to this, you will understand how to use machine learning platforms for local development as well as for cloud and managed environments. This book will also show you how to use MLflow in non-Python-based languages such as R and Java, along with covering approaches to extend MLflow with Plugins. By the end of this machine learning book, you will be able to produce and deploy reliable machine learning algorithms using MLflow in multiple environments.
Table of Contents (18 chapters)
1
Section 1: Problem Framing and Introductions
4
Section 2: Model Development and Experimentation
8
Section 3: Machine Learning in Production
13
Section 4: Advanced Topics

Creating a Docker image for your training job

A Docker image is, in many contexts, the most critical deliverable of a model developer to a more specialized systems infrastructure team in production for a training job. The project is contained in the following folder of the repository: https://github.com/PacktPublishing/Machine-Learning-Engineering-with-MLflow/tree/master/Chapter08/psystock-training-docker. In the following steps, we will produce a ready-to-deploy Docker image of the code produced:

  1. You need to set up a Docker file in the root folder of the project, as shown in the following code snippet:
    FROM continuumio/miniconda3:4.9.2
    RUN apt-get update && apt-get install build-essential -y
    RUN pip install \
        mlflow==1.18.0 \
        pymysql==1.0.2 \
        boto3
    COPY ./training_project /src
    WORKDIR /src
  2. We will start by building and training the image by running the following command:
    docker build -t psystock_docker_training_image...