Traffic Routing with Istio by Example

What is Istio?

The continued adoption of microservices architectures and the move toward complex distributed applications composed of decoupled components that communicate via APIs introduces various new challenges for developers. While these types of applications help us to encapsulate, reuse, and efficiently scale discrete components of business logic, they also require a lot more network traffic between services, which makes the need for reliable, secure, and observable channels of communication all the more important.

This is where Istio comes in. Istio is an open-source Service Mesh that helps to simplify the communication between microservices in distributed applications. …


How to automate a machine learning workflow using Kubeflow Pipelines

Why Machine Learning Pipelines?

A lot of attention is being given now to the idea of Machine Learning Pipelines, which are meant to automate and orchestrate the various steps involved in training a machine learning model; however, it’s not always made clear what the benefits are of modeling machine learning workflows as automated pipelines.

When tasked with training a new ML model, most Data Scientists and ML Engineers will probably start by developing some new Python scripts or interactive notebooks that perform the data extraction and preprocessing necessary to construct a clean set of data on which to train the model. Then, they might…


How to generate GraphQL schema programmatically

What is GraphQL?

GraphQL is a query language and runtime for APIs that allows clients to define the data elements and the structure of the response returned by the server. As opposed to a typical REST API, where the server responds according to a predefined data contract, with a GraphQL API, the client can ask for and receive just the data that it needs.

For example, consider an Employee API that allows clients to query for information about employees in an organization. From contact information (email, phone), to personal information (date of birth, address), to organizational information (salary, title, department), there are quite…


Use ONNX and the ONNX Runtime to share a single model across programming languages and technology stacks.

One frequent pain point for organizations trying to deliver ML models to Production is the discrepancy between the tools and technologies used by Data Scientists and those used by Application Developers. Data Scientists will most likely work in Python, using Machine Learning frameworks like Sci-kit Learn, Tensorflow, or PyTorch to build and train their models, while Application Developers will often use programming languages like Java, C#, or JavaScript to build enterprise applications, leveraging popular Web Application frameworks like Spring or ASP.NET Core.

There are many ways to bridge this gap. A couple of the most common approaches are:

  1. Have the…

Because you never just train your model once.

Let’s face it, getting a Machine Learning model into production isn’t easy. From pulling together data from disparate sources to tuning hyperparameters and evaluating model performance, there are so many different steps from sandbox to production that, if we’re not careful, can and will end up scattered across a number of interdependent notebooks or scripts that all must be run in the correct order to recreate the model. …


How to create a Custom Neural Network layer to One Hot Encode categorical input features in TensorFlow

One Hot Encoding is a common way of preprocessing categorical features for machine learning models. This type of encoding creates a new binary feature for each possible category and assigns a value of 1 to the feature of each sample that corresponds to its original category. It’s easier to understand visually: in the example below, we One Hot Encode a color feature which consists of three categories (red, green, and blue).

One hot encoding example with color as categories
One hot encoding example with color as categories
One Hot Encoding a simple categorical feature (Image by author)

Sci-kit Learn offers the OneHotEncoder class out of the box to handle categorical inputs using One Hot Encoding. Simply create an instance of sklearn.preprocessing.OneHotEncoder then fit the encoder on…

George Novack

Software Engineer | Machine Learning

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store