Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Computer Vision with TensorFlow 2

You're reading from   Hands-On Computer Vision with TensorFlow 2 Leverage deep learning to create powerful image processing apps with TensorFlow 2.0 and Keras

Arrow left icon
Product type Paperback
Published in May 2019
Publisher Packt
ISBN-13 9781788830645
Length 372 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Eliot Andres Eliot Andres
Author Profile Icon Eliot Andres
Eliot Andres
Benjamin Planche Benjamin Planche
Author Profile Icon Benjamin Planche
Benjamin Planche
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

Preface 1. Section 1: TensorFlow 2 and Deep Learning Applied to Computer Vision FREE CHAPTER
2. Computer Vision and Neural Networks 3. TensorFlow Basics and Training a Model 4. Modern Neural Networks 5. Section 2: State-of-the-Art Solutions for Classic Recognition Problems
6. Influential Classification Tools 7. Object Detection Models 8. Enhancing and Segmenting Images 9. Section 3: Advanced Concepts and New Frontiers of Computer Vision
10. Training on Complex and Scarce Datasets 11. Video and Recurrent Neural Networks 12. Optimizing Models and Deploying on Mobile Devices 13. Migrating from TensorFlow 1 to TensorFlow 2 14. Assessments 15. Other Books You May Enjoy

Model distillation

When none of the other techniques work, one last option is model distillation. The general idea is to train a small model to learn the output of a bigger model. Instead of training the small model to learn the raw labels (we could use the data for this), we train it to learn the output of the bigger model.

Let's see an example—we trained a very large network to predict an animal's breed from a picture. The output is as follows:

Figure 9-4: Examples of predictions made by our network

Because our model is too large to run on mobile, we decided to train a smaller model. Instead of training it with the labels we have, we decided to distill the knowledge of the larger network. To do so, we will use the output of the larger network as targets.

For the first picture, instead of training the new model with a target of [1, 0, 0], we will use the output of the larger network, a target of [0.9, 0.7, 0.1]. This new target is called a soft target...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime