MLfLow highlights logging and tracking in v1.1

MLfLow highlights logging and tracking in v1.1

MLflow has hit 1.1 with fleshed out logging and tracking features, and experimental support for running projects on Kubernetes.

The team behind the machine learning model management project flagged up the addition of  “lightweight autologging of metrics, parameters, and models” for TensorFLow and Keras training runs. They said this autologging would provide out of the box model tracking without modifications to training code. According to the release notes, this feature is currently “experimental”.

Next up is a parallel coordinates plot, which allows users to observe relationships between a n-dimensional set of parameters to metrics. “It visualizes all runs as lines that are color-coded based on the value of a metric (e.g. accuracy), and shows what parameter values each run took on,” according to the release notes.

The release also delivers a pair of new APIs. A Pandas DataFrame-based search API in the MLflow Python client returns experiment runs in a Pandas DataFrame. This should make life easier when comparing runs within an experiment.

Meanwhile, a Java Fluent API promises to provide a higher level interface to creating and logging to MLflow runs. “This API is in contrast to the lower level MLflowClient API which is essentially a wrapper over the REST APIs.”

The release adds Kubernetes execution backend support for projects, which means “MLflow executes your project code as a Kubernetes Job and periodically monitors its status until completion.”  Users can therefore leverage elastic compute resources managed by Kubernetes for their ML training purposes.” It should be noted this features is also currently experimental.

The project’s founders had intended to extend Kubernetes support in v1.0. In the event, it boosted Docker support, which went some way to proving this. At the time, director of product management Clemens Miewald told us, the next step “is being able to deploy the MLflow server and the UI and all of its components onto Kubernetes and host it.”

So, it seems we’re getting there, slowly.

The full lists of features and fixes are in the release notes here.