Andrejus Baranovski

Subscribe to Andrejus Baranovski feed
Blog about Oracle, Full Stack, Machine Learning and Cloud
Updated: 16 hours 23 min ago

MLOps: Scaling TensorFlow Model on Kubernetes

Mon, 2021-10-11 03:04
ML model serving/prediction API can be scaled on Kubernetes by adding or removing Pod instances. I show you a live demo and explain how scaling can be done for TensorFlow model running on Kubernetes.

MLOps: Sharing Model Across Services

Sun, 2021-10-03 06:16
Typically you would want to scale ML model training and ML inference/prediction services separately. This means services should not share the file storage, at least this is true for the Kubernetes cluster environment. I explain how you could transfer files across services using RabbitMQ.


MLOps with TensorFlow and Kubernetes Powered by RabbitMQ and FastAPI

Sun, 2021-09-26 06:26
I show how to run TensorFlow model training and data processing containers in a single Pod in Kubernetes. Model training container runs as a main container and data processing as a sidecar. Running both containers in a single Pod, allow to share files in common storage. I'm using persistence volume to store TensorFlow model and stats data from the data processing container. This video shows a walk through the complete use case of data processing, model training and ML microservices communication.


RabbitMQ on Kubernetes in Skipper

Mon, 2021-09-20 07:51
RabbitMQ works great for event-based microservices implementation. Katana ML Skipper is our open source product, it helps to run workflows and connect multiple services, we are specifically specialized for ML workflows. In this video, I explain how we integrated RabbitMQ and how we run it on Kubernetes cluster. I believe this can be helpful if you are researching how to run RabbitMQ on Kubernetes cluster for your own use cases.


FastAPI on Kubernetes with NGINX Ingress

Mon, 2021-09-13 03:29
A simple tutorial about a complex thing - how to expose FastAPI app to the world on Kubernets with NGINX Ingress Controller. I explain the structure of Kubernetes Pod for FastAPI along with Kubernetes service. I show how FastAPI properties should be set to be accessible through Ingress path definition. You will learn how to check the log for NGINX Ingress Controller and FastAPI Pod.


TensorFlow.js Setup for React JS App (Manning liveProject)

Mon, 2021-08-30 05:58
I explain the structure of my liveProject. It is a series of five projects, I use the first one as an example (it is free). React is highly prized by developers for its ease of building simple and intuitive frontends. liveProject teaches how to use Machine Learning directly within React code and run it in the browser. After working on this liveProject, you will learn how to run PoseNet model, use data collected by PoseNet to train your own custom ML model with TensorFlow.js. React application will help to track physical workout movements, classify them and count statistics.


Routing Traffic Between FastAPI Pods in Kubernetes

Mon, 2021-08-23 06:01
This is a quick tutorial to show how to route traffic between Kubernetes Pods. Both Pods are running FastAPI endpoints. I show how to create Deployment and Service elements for Kubernetes Pod, and how to refer to that service from another Pod to execute HTTP call.


Human Pose Estimation with TensorFlow.js and React

Thu, 2021-08-19 14:02
Want to learn #MachineLearning and #React by doing? My @ManningBooks liveProject 'Human Pose Estimation with TensorFlow.js and React' is published. Free access to Manning books is included. Try it here.

FastAPI Running on Kubernetes Pod

Mon, 2021-08-09 06:29
Step-by-step tutorial where I explain and show how to run FastAPI app on Kubernetes Pod. I keep it simple. I explain when it makes sense to use multiple containers in a single Pod and when you should put containers into different Pods.


Dockerfile and Docker Compose Tutorial for MLOps

Mon, 2021-08-02 06:19
This is the tutorial, where I talk about MLOps, explain the difference between Dockerfile and Docker Compose YML definition file. I briefly explain what you should be aware of if planning to move your solution to Kubernetes in the future. I explain in simple words, what is Dockerfile and when Docker Compose is useful. The sample service is based on TensorFlow functionality, where we call model predict function to process serving request.


Hugging Face Course and Pretrained Model Fine-Tuning

Mon, 2021-07-26 02:52
Hugging Face team recently released an online course about transformers, pretrained model fine-tuning, and sharing models on the Hugging Face hub. I went through the first part of the course related to model fine-tuning. I explain what changes I did for my previous sample related to Hugging Face model fine-tuning, based on knowledge learned from this course.


Serving ML Model with Docker, RabbitMQ, FastAPI and Nginx

Mon, 2021-07-19 01:53
In this tutorial I explain how to serve ML model using such tools as Docker, RabbitMQ, FastAPI and Nginx. The solution is based on our open-source product Katana ML Skipper (or just Skipper). It allows running ML workflow using a group of microservices. It is not limited to ML, you can run any workload using Skipper and plugin your own services. You can reach out to me if you got any questions.


TensorFlow Decision Forests Example

Wed, 2021-07-14 06:32
With TensorFlow Decision Forests we can handle structured data without much preprocessing. There is no need to normalize numeric values, one-hot encode categorical values, or set magic values to replace missing data. I give it a try and run this new feature of TensorFlow in this video. The demo is based on the Titanic dataset taken from Kaggle.


FastAPI Background Tasks for Non-Blocking Endpoints

Mon, 2021-06-28 06:34
With FastAPI it is super easy to implement a non-blocking endpoint. This is useful when the endpoint calls logic, which should be executed asynchronously and you don't need to wait for the result, but want to return a response immediately. For example - a service that does logging. We don't want to wait until the log will be written but return the response instantly.


Publishing Your Python Library on PyPI

Mon, 2021-06-21 02:15
I explain how to publish Python library on PyPI with Poetry. I believe this video will be useful to all Python developers, who are looking at how to create Python library and publish it. I share my experience and explain why I spent the entire day debugging the issue with library dependencies.


ML Pipeline End-to-End Solution

Mon, 2021-06-07 06:08
Are you interested to learn how to build and run a complete ML pipeline - Web API, data processing, model training, and prediction services? In this video, I explain how the end-to-end solution works using our open-source product Skipper.


FastAPI Endpoint Type with Pydantic

Mon, 2021-05-31 07:13
Pydantic library helps to define structured and clear types for FastAPI endpoints. In this video I explain how to define Pydantic type with nested list structure, I show how it works with a live demo. You will get to know how to convert input data into JSON structure. Enjoy!


Event-Driven Microservice with RabbitMQ and FastAPI

Mon, 2021-05-24 14:49
Event-driven microservices architecture brings scalability and better application structure. In this video, I show a demo based on Web API implementation with FastAPI, Celery. The event is sent to a group of microservices through RabbitMQ broker. Services communicate with each other through RabbitMQ. Model training service calls data service to fetch and prepare data for training.


Web API with FastAPI, RabbitMQ and Celery

Mon, 2021-05-17 14:30
With Web API you can create access to microservice functionality. In this video, I explain how to create scalable Web API with FastAPI, Celery and RabbitMQ. Celery is responsible to execute async Web API requests and RabbitMQ enables the communication between Web API and microservices.


Celery Distributed Task Queue Display with Flower UI

Mon, 2021-05-10 06:09
I explain how you can visualize Celery distributed task queue with Flower UI. This is useful when monitoring asynchronous tasks.