This YouTube lecture (final course in a specialization) introduces advanced deployment topics for TensorFlow: serving models over HTTP/HTTPS with TensorFlow Serving, using TensorFlow Hub for reusable models and transfer learning, TensorBoard (including tensorboard.dev) for sharing model metadata, and federated learning for updating models in production. It emphasizes simplifying packaging, hosting, APIs, and model versioning to ease developers' workflow.
Chapters
You finished three of the four courses of this specialization on data and deployments. Welcome to this final course on advanced deployment scenarios. In this course you're going to learn about several advanced topics. What are the advanced topics?
Oh, we've got so many to choose from. Right. So we're going to start with TensorFlow serving so you can learn how to serve your models over HTTP and HTTPs. Then we're going to be looking at TensorFlow Hub. So that's a repository for models that somebody can take models from and use the entire model or maybe use transfer learning to take layers from that model. Then there's Tensorboard and a new part of Tensorboard called tensorboard.dev. where you can actually deploy the metadata about your model and you'll get a URL back that you can then share so other people can look at your model, can inspect and maybe help you debug your model. And then finally we'll end up with the one that I'm really most excited about and that's to talk about federated learning. So when you have your model deployed in the wild, how do you then effectively get federated learning from that?
But first, in this week we'll start with TensorFlow survey. I found that after you've trained a machine learning model or a deep learning model, it sometimes so many steps to take the model, package it up, post it on a cloud hosted server, maintain the cloud hosted server and set up an API so that you or someone else can call your model to get predictions back. So anything that TensorFlow provides to make all those steps easier, just makes life easier for developers.
Exactly. And that's the whole idea behind this. And then also model versioning. Right. As you retrain your model and you save it out in a new directory, you can serve from that one and you can have multiple models and handle your model versioning like that. We try to make that as easy as possible for the developer so that.
You can deploy something to cloud hosted server and when you version it, push a new model and have that just work without too much messing around with saving models in different directories and copying and pasting the right place and hoping for the best.
Exactly. Or taking a server offline to update it. You know, those kind of things. The goal is to really reduce the friction for developers so that they can have a serving infrastructure.