We may earn an affiliate commission when you visit our partners.
Course image
Soledad Galli and Christopher Samiullah

Welcome to Deployment of Machine Learning Models, the most comprehensive machine learning deployments online course available to date. This course will show you how to take your machine learning models from the research environment to a fully integrated production environment.

What is model deployment?

Read more

Welcome to Deployment of Machine Learning Models, the most comprehensive machine learning deployments online course available to date. This course will show you how to take your machine learning models from the research environment to a fully integrated production environment.

What is model deployment?

Deployment of machine learning models, or simply, putting models into production, means making your models available to other systems within the organization or the web, so that they can receive data and return their predictions. Through the deployment of machine learning models, you can begin to take full advantage of the model you built.

Who is this course for?

  • If you’ve just built your first machine learning models and would like to know how to take them to production or deploy them into an API,

  • If you deployed a few models within your organization and would like to learn more about best practices on model deployment,

  • If you are an avid software developer who would like to step into deployment of fully integrated machine learning pipelines,

this course will show you how.

What will you learn?

We'll take you step-by-step through engaging video tutorials and teach you everything you need to know to start creating a model in the research environment, and then transform the Jupyter notebooks into production code, package the code and deploy to an API, and add continuous integration and continuous delivery. We will discuss the concept of reproducibility, why it matters, and how to maximize reproducibility during deployment, through versioning, code repositories and the use of docker. And we will also discuss the tools and platforms available to deploy machine learning models.

Specifically, you will learn:

  • The steps involved in a typical machine learning pipeline

  • How a data scientist works in the research environment

  • How to transform the code in Jupyter notebooks into production code

  • How to write production code, including introduction to tests, logging and OOP

  • How to deploy the model and serve predictions from an API

  • How to create a Python Package

  • How to deploy into a realistic production environment

  • How to use docker to control software and model versions

  • How to add a CI/CD layer

  • How to determine that the deployed model reproduces the one created in the research environment

By the end of the course you will have a comprehensive overview of the entire research, development and deployment lifecycle of a machine learning model, and understood the best coding practices, and things to consider to put a model in production. You will also have a better understanding of the tools available to you to deploy your models, and will be well placed to take the deployment of the models in any direction that serves the needs of your organization.

What else should you know?

This course will help you take the first steps towards putting your models in production. You will learn how to go from a Jupyter notebook to a fully deployed machine learning model, considering CI/CD, and deploying to cloud platforms and infrastructure.

But, there is a lot more to model deployment, like model monitoring, advanced deployment orchestration with Kubernetes, and scheduled workflows with Airflow, as well as various testing paradigms such as shadow deployments that are not covered in this course.

Want to know more? Read on...

This comprehensive course on deployment of machine learning models includes over 100 lectures spanning about 10 hours of video, and ALL topics include hands-on Python code examples which you can use for reference and re-use in your own projects.

In addition, we have now included in each section an assignment where you get to reproduce what you learnt to deploy a new model.

So what are you waiting for? Enroll today, learn how to put your models in production and begin extracting their true value.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Build machine learning model apis and deploy models into the cloud
  • Send and receive requests from deployed machine learning models
  • Design testable, version controlled and reproducible production code for model deployment
  • Create continuous and automated integrations to deploy your models
  • Understand the optimal machine learning architecture
  • Understand the different resources available to productionise your models
  • Identify and mitigate the challenges of putting models in production

Syllabus

Introduction
Introduction to the course
Course curriculum overview
Course requirements
Read more
Setting up your computer
Course Material
The code
Presentations
Download Dataset
Resources to learn machine learning skills
How to approach the course
Overview of Model Deployment
Deployments of Machine Learning Models
Deployment of Machine Learning Pipelines
Research and Production Environment
Building Reproducible Machine Learning Pipelines
Challenges to Reproducibility
Streamlining Model Deployment with Open-Source
Additional Reading Resources
Machine Learning System Architecture
Machine Learning System Architecture and Why it Matters
Specific Challenges of Machine Learning Systems
Principles for Machine Learning Systems
Machine Learning System Architecture Approaches
Machine Learning System Component Breakdown
We will recreate the process of developing a machine learning model, with the aim of putting the model in production. We will use of open source and create in house packages to streamline deployment.
Research Environment - Process Overview
Machine Learning Pipeline Overview
Feature Engineering - Variable Characteristics
Feature Engineering Techniques
Feature Selection
Training a Machine Learning Model
Research environment - second part
Code covered in this section
Python library versions
Data analysis demo - missing data
Data analysis demo - temporal variables
Data analysis demo - numerical variables
Data analysis demo - categorical variables
Feature engineering demo 1
Feature engineering demo 2
Feature selection demo
Model training demo
Create a Machine Learning Pipeline
Score new data with the house price model
Scoring new data with our model
Research environment - third part
Python Open Source for Machine Learning
Open Source Libraries for Feature Engineering
Feature engineering with open source demo
Research environment - fourth part
Intro to Object Oriented Programing
Inheritance and the Scikit-learn API
Create Scikit-Learn compatible transformers
Create transformers that learn parameters
Feature engineering pipeline demo
Should feature selection be part of the pipeline?
Research environment - final section
Getting Ready for Deployment - Final Pipeline
Create and end to end Pipeline for Classification
Bonus: Additional Resources on Scikit-Learn
Convert Jupyter notebooks from the research environment to a production ready Python package.
Introduction to Production Code
Repo for this section
Code Overview
Understanding the Reasoning Behind the Prod Code Structure
Reminder: Download the Kaggle Data
Package Requirements Files
Working with tox [Do NOT skip - important]
Migrating from Tox 3 to Tox 4
Troubleshooting Tox
Package Config
The Model Training Script & Pipeline
Introduction to Pytest [Optional]
Feature Engineering Code in the Package
Making Predictions with the Package
Building the Package
Tooling
Hands On Assignment: Get The Titanic Classification Model Ready for Prod
Section Notes & Further Reading
Understand how to serve model predictions via a REST API & Deploy that API
Running the API Locally
Understanding the Architecture of the API
Introduction to FastAPI
The API Endpoints
Using Schemas in our API
Logging in our Application
The Uvicorn Web Server
Introducing Railway App and Platform as a Service
What Is a Platform as a Service (PaaS)?
Why Use Railway as Our PaaS?
Railway Links
Deploying our ML Application to Railway - Hands On
Limitations to Be Aware Of & Wrap Up
Continuous Integration and Deployment Pipelines
Introduction to CI/CD
Setting up CircleCI
CI/CD Automation Overview Part 1

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for deploying Machine Learning models for software developers
Taught by Christopher Samiullah and Soledad Galli, who are recognized for their work in Machine Learning
Develops skills, knowledge, and tools that are highly relevant to industry
Covers unique perspectives and ideas that may add color to other topics and subjects
Teaches skills, knowledge, and tools that are useful for personal growth and development
Explores Machine Learning deployment using open-source tools and platforms

Save this course

Save Deployment of Machine Learning Models to your list so you can find it easily later:
Save

Reviews summary

Deployment of machine learning models

According to students, Deployment of Machine Learning Models is a good and complete course for deploying Machine Learning in Backend.
The course covers deploying Machine Learning in Backend.
"It is a good and the most complete course for deployment Machine Learning in Backend!"
The course is good.
"It is a good and the most complete course for deployment Machine Learning in Backend!"
The course is complete.
"It is a good and the most complete course for deployment Machine Learning in Backend!"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Deployment of Machine Learning Models with these activities:
Review key concepts from introductory machine learning
Refresh your understanding of fundamental machine learning principles to prepare for more advanced topics in model deployment.
Show steps
  • Go over notes or textbooks from a previous introductory machine learning course.
  • Complete practice questions or quizzes to test your knowledge.
Complete 10 beginner-level Jupyter notebook challenges
Practice coding problems and tutorials to gain hands-on experience with Jupyter notebooks and basic machine learning concepts.
Show steps
  • Find 10 beginner-level Jupyter notebook challenges online.
  • Create a new Jupyter notebook.
  • Solve the challenge and test your code.
Follow a tutorial on creating a simple machine learning pipeline
Gain practical experience in constructing a machine learning pipeline to prepare for the deployment process.
Show steps
  • Find a tutorial on creating a simple machine learning pipeline.
  • Follow the tutorial step-by-step, coding along the way.
  • Run the pipeline and analyze the results.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Join a study group to discuss model deployment concepts
Engage in discussions with peers to deepen your understanding and exchange ideas related to model deployment.
Show steps
  • Find or create a study group with peers enrolled in the course.
  • Meet regularly to discuss the course material, ask questions, and share insights.
Attend a workshop on cloud-based model deployment
Expand your knowledge and network by attending a workshop that focuses on cloud-based model deployment techniques.
Browse courses on Model Deployment
Show steps
  • Find a reputable workshop on cloud-based model deployment.
  • Register and attend the workshop.
  • Participate in interactive exercises and discussions.
Contribute to an open-source project related to model deployment
Gain hands-on experience in real-world model deployment scenarios and contribute to the broader machine learning community.
Browse courses on Model Deployment
Show steps
  • Identify an open-source project related to model deployment.
  • Familiarize yourself with the project's codebase and documentation.
  • Identify a bug or feature to work on.
  • Submit a pull request with your proposed changes.
Write a blog post or article on best practices in model deployment
Solidify your understanding and share your knowledge by creating a detailed guide on best practices in model deployment.
Browse courses on Model Deployment
Show steps
  • Choose a specific aspect of model deployment to focus on.
  • Research best practices and gather insights from experts.
  • Write a well-structured blog post or article.
  • Publish your content online and share it with others.
Develop a small-scale model deployment project
Apply your knowledge by creating a working model deployment solution that addresses a specific problem.
Browse courses on Model Deployment
Show steps
  • Define a problem statement and gather data.
  • Train a machine learning model and evaluate its performance.
  • Deploy the model and evaluate its performance in the real world.
  • Write a report or presentation on your project.

Career center

Learners who complete Deployment of Machine Learning Models will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Deployment of Machine Learning Models helps refine skills of building, testing, and maintaining machine learning models, which will aid in your success as a Machine Learning Engineer. By exploring techniques and various tools, you'll gain a comprehensive understanding of serving your models. With the support of this course's lessons, you can confidently take models beyond research to gain actionable insights.
Data Scientist
This course will prepare you to transition into the role of a Data Scientist by enhancing your technical capabilities. With hands-on experiences, you will have expertise in deploying machine learning models from research to production, optimizing real-world business outcomes. The course's lessons on CI/CD, advanced deployment orchestration, and scheduled workflows will equip you to effectively navigate challenges in this field.
Software Engineer
Advance your career as a Software Engineer with the knowledge gained from Deployment of Machine Learning Models. You'll master writing testable, version-controlled, and reproducible production code for model deployment. The course curriculum covers object-oriented programming and open-source technologies. By understanding best practices in coding and model deployment, you'll elevate your software engineering capabilities.
Machine Learning Researcher
Enhance your research capabilities in machine learning by taking Deployment of Machine Learning Models. This course provides a systematic approach to transitioning models from research to production. You'll gain skills in packaging code and deploying it to APIs, enabling you to evaluate and refine models in real-world scenarios. The emphasis on reproducibility and version control will strengthen your research foundation.
Data Analyst
As a Data Analyst, you can elevate your career by taking Deployment of Machine Learning Models. This course covers transforming Jupyter notebooks into production code, helping you bridge the gap between model development and implementation. You'll learn to create Python packages, deploy models, and use docker for version control, which are essential skills for streamlining data analysis pipelines.
Cloud Architect
This course may be useful for Cloud Architects seeking to expand their expertise in deploying machine learning models. You'll gain insights into cloud platforms and infrastructure, enabling you to make informed decisions about model deployment. By understanding best practices in CI/CD and continuous integration, you can optimize your cloud architecture for efficient model deployment.
Data Engineer
Deployment of Machine Learning Models may be helpful for Data Engineers. It covers essential concepts of model deployment, such as creating Python packages and deploying models into a realistic production environment. By understanding the challenges of putting models into production, you can develop robust and scalable data pipelines that seamlessly integrate machine learning models.
Business Analyst
This course may be useful for Business Analysts seeking to enhance their understanding of machine learning model deployment. You'll gain insights into the machine learning system architecture, enabling you to effectively communicate with technical teams and stakeholders. By understanding the challenges and opportunities of model deployment, you can contribute to informed decision-making and drive business value.
Product Manager
Product Managers can benefit from Deployment of Machine Learning Models. The course provides a comprehensive overview of the machine learning deployment lifecycle, enabling you to understand the technical aspects of model deployment. By gaining insights into model reproducibility, versioning, and continuous integration, you can effectively manage product development and ensure successful implementation of machine learning solutions.
Quantitative Analyst
This course may be useful for Quantitative Analysts looking to expand their knowledge in machine learning model deployment. You'll gain insights into model evaluation and deployment, enabling you to make informed decisions about model selection and implementation. By understanding the challenges of model deployment, you can develop robust and reliable quantitative models that drive data-driven decision-making.
Software Developer
Deployment of Machine Learning Models may be helpful for Software Developers. It covers essential concepts of transforming Jupyter notebooks into production code and packaging the code into a Python package. By understanding the principles of testable, version-controlled, and reproducible production code, you can contribute to the development of robust and maintainable software.
Statistician
This course may be useful for Statisticians seeking to enhance their knowledge in machine learning model deployment. You'll gain insights into the machine learning system architecture, enabling you to effectively interpret and communicate statistical findings. By understanding the challenges and opportunities of model deployment, you can contribute to the development of reliable and impactful statistical models.
Risk Manager
Deployment of Machine Learning Models may be useful for Risk Managers seeking to gain a practical understanding of model deployment. You'll learn about CI/CD, continuous integration, and continuous delivery, enabling you to implement robust model deployment pipelines. By understanding the challenges of model deployment, you can develop effective risk management strategies and ensure the reliability of deployed models.
Actuary
Deployment of Machine Learning Models may be useful for Actuaries. It covers essential concepts of model reproducibility and version control, enabling you to develop reliable and auditable actuarial models. By understanding how to mitigate challenges of putting models into production, you can contribute to the implementation of robust and transparent actuarial solutions.
Financial Analyst
This course may be useful for Financial Analysts looking to incorporate machine learning models into their work. You'll gain insights into model evaluation and deployment, enabling you to make informed decisions about model selection and implementation. By understanding the challenges of model deployment, you can develop robust and reliable financial models that drive informed investment decisions.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Deployment of Machine Learning Models.
This comprehensive textbook on deep learning covers fundamental concepts, architectures, and algorithms. It provides a thorough understanding of the theory and practice of deep learning, making it highly relevant for a course on deploying machine learning models.
This reference guide provides best practices for building, training, and deploying machine learning models. It covers common challenges and provides solutions for handling data and model complexity, performance monitoring, and maintaining code quality.
Provides a detailed roadmap for moving machine learning models from prototype to production. It covers best practices for data engineering, model training, deployment, monitoring, and more.
Provides a comprehensive introduction to machine learning, covering topics such as data preprocessing, model selection, and evaluation. It also includes hands-on exercises and projects.
This practical guide provides a structured approach to implementing machine learning solutions in real-world applications. It covers a wide range of topics, including data preparation, model selection, evaluation, and deployment.
Provides a practical introduction to deep learning, covering topics such as neural networks, convolutional neural networks, and recurrent neural networks. It also includes hands-on exercises and projects.
This classic textbook provides a comprehensive overview of statistical learning methods. It covers topics such as linear regression, classification, and clustering.
Provides a comprehensive introduction to TensorFlow, the popular open-source machine learning library. It covers the fundamentals of TensorFlow, including its architecture, data structures, and operations.
This hands-on guide provides practical examples and exercises on machine learning algorithms and techniques. It covers a wide range of topics, including data preprocessing, model selection, evaluation, and deployment.
This advanced textbook provides a rigorous treatment of machine learning from a probabilistic perspective. It covers topics such as Bayesian inference, graphical models, and reinforcement learning.
Provides a unique perspective on machine learning by focusing on the data itself. It covers topics such as data exploration, cleaning, and feature engineering.
Provides a conceptual introduction to machine learning and its applications. It covers a wide range of topics, including data mining, reinforcement learning, and natural language processing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Deployment of Machine Learning Models.
MLOps in R: Deploying machine learning models using...
Most relevant
Deploying Machine Learning Solutions
Most relevant
Deploy Machine Learning Models in Azure
Most relevant
Implementing Machine Learning Workflow with RapidMiner
Most relevant
MLOps for Scaling TinyML
Most relevant
Deploying a Scalable ML Pipeline in Production
Most relevant
Deploying Machine Learning Models in Production
Most relevant
MLOps1 (Azure): Deploying AI & ML Models in Production...
Most relevant
Managing Models Using MLflow on Databricks
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser