This notebook builds and end-to-end multi-class image classifier using TensorFlow 2.0 and TensorFlow Hub.
This kind of problem is called multi-class image classification. It's multi-class because we're trying to classify mutliple different breeds of dog. If we were only trying to classify dogs versus cats, it would be called binary classification.
Multi-class image classification is an important problem because it's the same kind of technology Tesla uses in their self-driving cars or Airbnb uses in atuomatically adding information to their listings.
The data we're using is from Kaggle's dog breed identification competition: https://www.kaggle.com/c/dog-breed-identification/data
- Get data ready (download from Kaggle, store, import).
- Prepare the data (preprocessing, the 3 sets, X & y).
- Choose and fit/train a model (TensorFlow Hub, tf.keras.applications, TensorBoard, EarlyStopping).
- Evaluating a model (making predictions, comparing them with the ground truth labels).
- Improve the model through experimentation (start with 1000 images, make sure it works, increase the number of images).
- Save, sharing and reloading your model.