An approach to Test-Driven Development for ML-Powered Apps

This is the concluding part of a three-part series. I suggest you read part 1 & 2 for a better understanding:

  • Code Coverage and CI with Travis
  • Test Automation with git action
  • Beyond assertion: setup and teardown
  • Mocking

Code Coverage and CI server


An approach to Test-Driven Development for ML-Powered Apps

This is the second part of a three-part series. I suggest you read part 1 for a better understanding:

  • Test organisation in sources code
  • Applicable tests with examples (hands-on)
  • Mastering test execution with Pytest (hands-on)
  • Expected failure and conditional skipping
  • Test Automation with git action (hands-on) (part 3)
  • Beyond assertion: setup and teardown (hands-on) (part 3)
  • Mocking (hands-on)(part 3)

Test organisation in sources code

Keeping tests organise is as important as how you would keep the project source code organise. At the beginning of a project…


An approach to Test-Driven Development for ML-Powered Apps

Test-Driven Development (TDD) is a development technique where you must first write a test that fails before you write new functional code. This has found its usefulness mostly in traditional software development using the Agile approach for the development of application source code and is even being adopted by Agile DBAs for database development.

The process involves three simple steps that are repeated until a project is completed. These steps are:

  • Write a test for the functionality you want to add.
  • Write the functional code until the test passes.
  • Refactor all code…


Deep Dive Into Containerization for Data Science & Machine Learning

image source: neptune.ai

This is a summary of a well-detailed article I originally published with neptune.ai. For complete understanding and further details, you can find the full write-up by clicking the Full article link on neptune.ai

When building data science and machine learning-powered products the research-development-production workflow is not linear like in traditional software development where the specs are known and problems are (mostly) understood beforehand.

There are lots of trial and error involved, including the test and use of new algorithms, trying new data versions (and managing it), packaging the product for…


Scaling out to a cloud platform for fast model training, evaluation, inferencing, logging, and monitoring

Photo by C Dustin on Unsplash

This is the concluding part of a four-part series. I suggest you read part 1, 2, and 3 for a better understanding:

Part 1

Part 2

Part 3

In this article, we will continue building production machine learning systems on GCP with a special focus on the design of hybrid ML systems which covers the following:

  • Building hybrid cloud machine learning models
  • Kubeflow for hybrid cloud
  • Optimize Tensorflow graphs for mobile

This is a descriptive series at a high-level, there will be another series on implementing some of these standard concepts but if you would love to get fully hands-on…


Scaling out to a cloud platform for fast model training, evaluation, inferencing, logging, and monitoring.

Photo by C Dustin on Unsplash

This is the third part of a four-part series. I suggest you read part 1 and 2 for a better understanding:

Part 1

Part 2

In this article, we will continue the exploration of production machine learning systems on GCP with a special focus on the design of high-performance ML systems.

Content

  • Efficiency at training
  • Fast input pipelines
  • Efficient inferencing

This is a descriptive series at a high-level, there will be another series on implementing some of these standard concepts but if you would love to get fully hands-on before then, I suggest you take the Advance Machine Learning with Tensorflow…


Scaling out to a cloud platform for fast model training, evaluation, inferencing, logging, and monitoring.

Photo by C Dustin on Unsplash

This is the second part of a four-part series. I suggest you read part 1 for a better understanding:

link to part 1

In this article, we will continue on building production machine learning systems on GCP with a special focus on the following:

  • Data ingestion for cloud-based analytics and ML (part 2)
  • Adaptable ML system (part 2)

This is a descriptive series at a high-level, there will be another series on implementing some of these standard concepts but if you would love to get fully hands-on before then, I suggest you take the Advance Machine Learning with Tensorflow on…


Scaling out to a cloud platform for fast model training, evaluation, inferencing, logging, and monitoring.

Photo by C Dustin on Unsplash

At the end of this series, you should be comfortable with ML systems designs (appropriate training and serving paradigm, and serve ML models scalably)

Content

  • Architecting production ML systems (part 1)
  • Static and dynamic training (part 1)
  • Static and dynamic inference (part 1)
  • Data ingestion for cloud-based analytics and ML (part 2 )
  • Adaptable ML system (part 2)
  • Design high-performance ML systems (part 3)
  • Hybrid ML systems (part 4)

This is a descriptive series at a high-level, there will be another series on implementing some of these standard concepts but if you would like to get fully hands-on before then, I…


Danfo.js: Open-source Javascript library for data manipulation

Photo by Hudson Hintze on Unsplash

This is the third and final part of a three-part series. I suggest you read parts 1 and 2 first for better understanding.

In the first part of the series, we got introduced to danfo.js, a new JavaScript package that provides fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive.

What you will learn in part 3

  • Converting an observable notebook to a script for the browser
  • Train and perform inference in the browser


Danfo.js: Open-Source JavaScript library for data manipulation

Photo by Hudson Hintze on Unsplash

This is the second part of a three-part series. I suggest you read part 1 for better understanding:

In part 2, we’ll sail on to actually building our ML model and evaluating it with TensorFlow.js and danfo.js in an Observable notebook.

Bamigbade Opeyemi

Data Scientist |ML-Engineer at Data Science Nigeria. Open to consulting and new opportunities. https://opeyemibami.github.io/yhemmy/

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