Open Source for IBM Z and LinuxONE - Group home

TensorFlow, TensorFlow Serving, and TensorFlow Transform for Linux on IBM Z and LinuxONE

  


There is no doubt that Artificial Intelligence (AI) is used more and more for both research projects and business competitiveness.  The fields of Machine Learning (ML) and Deep Learning (DL) have grown largely over the past decade and there’s no stop in sight. 

One of the most used open-source libraries for ML and DL is TensorFlow, for those new to this field TensorFlow can be used across a range of tasks including training and inference of deep neural networks. TensorFlow offers APIs and supports multiple languages like C++, Java, and Python. Its flexible programming model has made it the framework of choice for beginners and experts in ML and DL.

 

TensorFlow has grown from a framework library to an end-to-end ML platform that includes a set of different open-source projects. For the purpose of this blog post, I’m going to focus on TensorFlow as a framework first. Five years ago, Google open-sourced TensorFlow under Apache open source license on November 9, 2015. On February 11, 2017, version 1.0.0 was released[1]. Now on version 2.4.0 after only five years, it has become the most popular ML library in the world, with over 160 million downloads[2].

 

In a typical scenario during the development phase, data scientists train their models locally on their desktops or laptops. Once the training is done, TensorFlow can be run on different hardware platforms on-premise or in the cloud.
One platform not widely known for AI applications is IBM Z and LinuxONE. You can find more about use cases and AI open-source software for IBM Z and LinuxONE in this blog post. TensorFlow has been available for this platform architecture (s390x) for over 3 years now. This allows developers and data scientists to use TensorFlow and create AI applications in the same platform that holds their enterprise mission-critical applications including banking, financial transactions, payrolls, scientific research, and more.

 

Based on open-source upstream contributions by the IBM team, TensorFlow has been available on various community-supported builds for s390x (IBM Z & LinuxONE) and ppc6le (IBM Power). There is a growing ecosystem of open-source software also available for s390x. Open-source projects expand their platform coverage by building their projects in most cases with minor adjustments or no changes at all to run in the s390x processor architecture.

 

I’m pleased to announce that the IBM team just ported and validated two more important open-source projects that complement the use of TensorFlow in s390x. They are TensorFlow Serving and TensorFlow Transform.

 

Let’s talk about TensorFlow Serving first. When ML models are trained and ready to be moved to production, TensorFlow Serving functionality installed via PIP package manager or Docker image facilitates deploying models to start serving prediction requests in a consistent architecture and with APIs. It serves one or many new models, as well as new versions of existing models. It is ideal when running multiple models on a large-scale.

TensorFlow Serving makes the process of taking a model into production easier and faster. It allows you to safely deploy new models and run experiments, it works with TensorFlow models but can also be used for other types of models, not only TensorFlow.

 

TensorFlow Transform (tf.Transform) is a Python library for TensorFlow that allows the preprocessing of input data. Users can define preprocessing pipelines and export them to run as part of a TensorFlow graph. Examples of data transformation include: normalizing values by using the mean and standard deviation functions, converting strings to integers, or floating types to integers, among others. With TensorFlow Transform serving-time transformations are the same as those performed at training-time.

 

Now you can use the latest versions of TensorFlow Serving and TensorFlow Transform in your IBM Z or LinuxONE platform. You can find build instructions in this GitHub wiki document for TensorFlow Serving and in this document for TensorFlow Transform.

 
At IBM we promote and contribute to open-source software. We are always looking to contribute upstream and to continue to grow the ecosystem of open-source software for IBM Z and LinuxONE platforms.

[1] TensorFlow 1.0.1 release

[2] 5 Ways to Celebrate TensorFlow 5th Birthday