Skip to content

Latest commit

 

History

History
134 lines (114 loc) · 5.79 KB

README.md

File metadata and controls

134 lines (114 loc) · 5.79 KB

TensorFlow-Course

This is my code repository for the Course TensorFlow Developer Certificate in 2023: Zero to Mastery , published by Daniel Bourke.

  • Introduction to tensors (creating tensors)
  • Getting information from tensors (tensor attributes)
  • Manipulating tensors (tensor operations)
  • Tensors and NumPy
  • Using @tf.function (a way to speed up your regular Python functions)
  • Using GPUs with TensorFlow
  • Architecture of a regression model
  • Input shapes and output shapes
    • X: features/data (inputs)
    • y: labels (outputs)
  • Creating custom data to view and fit
  • Steps in modelling
    • Creating a model
    • Compiling a model - Defining a loss function - Setting up an optimizer - Creating evaluation metrics
    • Fitting a model (getting it to find patterns in our data)
  • Evaluating a model
    • Visualizng the model ("visualize, visualize, visualize")
    • Looking at training curves
    • Compare predictions to ground truth (using our evaluation metrics)
  • Saving a model (so we can use it later)
  • Loading a model
  • Architecture of a classification model
  • Input shapes and output shapes
    • X: features/data (inputs)
    • y: labels (outputs)
      • "What class do the inputs belong to?"
  • Creating custom data to view and fit
  • Steps in modelling for binary and mutliclass classification
    • Creating a model
    • Compiling a model
      • Defining a loss function
      • Setting up an optimizer
        • Finding the best learning rate
      • Creating evaluation metrics
    • Fitting a model (getting it to find patterns in our data)
    • Improving a model
  • The power of non-linearity
  • Evaluating classification models
    • Visualizng the model ("visualize, visualize, visualize")
    • Looking at training curves
    • Compare predictions to ground truth (using our evaluation metrics)
  • Getting a dataset to work with
  • Architecture of a convolutional neural network
  • A quick end-to-end example (what we're working towards)
  • Steps in modelling for binary image classification with CNNs
    • Becoming one with the data
    • Preparing data for modelling
    • Creating a CNN model (starting with a baseline)
    • Fitting a model (getting it to find patterns in our data)
    • Evaluating a model
    • Improving a model
    • Making a prediction with a trained model
  • Steps in modelling for multi-class image classification with CNNs
    • Same as above (but this time with a different dataset)

4 — Transfer Learning with TensorFlow

Part 1: Feature extraction transfer learning

  • Introduce transfer learning (a way to beat all of our old self-built models)
  • Using a smaller dataset to experiment faster (10% of training samples of 10 classes of food)
  • Build a transfer learning feature extraction model using TensorFlow Hub
  • Introduce the TensorBoard callback to track model training results
  • Compare model results using TensorBoard.

Part 2: Fine-tuning transfer learning

  • Introduce fine-tuning, a type of transfer learning to modify a pre-trained model to be more suited to your data
  • Using the Keras Functional API (a differnt way to build models in Keras)
  • Using a smaller dataset to experiment faster (e.g. 1-10% of training samples of 10 classes of food)
  • Data augmentation (how to make your training dataset more diverse without adding more data)
  • Running a series of modelling experiments on our Food Vision data
    • Model 0: a transfer learning model using the Keras Functional API
    • Model 1: a feature extraction transfer learning model on 1% of the data with data augmentation
    • Model 2: a feature extraction transfer learning model on 10% of the data with data augmentation
    • Model 3: a fine-tuned transfer learning model on 10% of the data
    • Model 4: a fine-tuned transfer learning model on 100% of the data
  • Introduce the ModelCheckpoint callback to save intermediate training results
  • Compare model experiments results using TensorBoard

Part 3: Scaling-Up Transfer learning

  • Downloading and preparing 10% of the Food101 data (10% of training data)
  • Training a feature extraction transfer learning model on 10% of the Food101 training data
  • Fine-tuning our feature extraction model
  • Saving and loaded our trained model
  • Evaluating the performance of our Food Vision model trained on 10% of the training data
    • Finding our model's most wrong predictions
  • Making predictions with our Food Vision model on custom images of food
  • Using TensorFlow Datasets to download and explore data
  • Creating preprocessing function for our data
  • Batching & preparing datasets for modelling (making our datasets run fast)
  • Creating modelling callbacks
  • Setting up mixed precision training
  • Building a feature extraction model (see transfer learning part 1: feature extraction)
  • Fine-tuning the feature extraction model (see transfer learning part 2: fine-tuning)
  • Viewing training results on TensorBoard
  • Downloading a text dataset
  • Visualizing text data
  • Converting text into numbers using tokenization
  • Turning our tokenized text into an embedding
  • Modelling a text dataset
    • Starting with a baseline (TF-IDF)
    • Building several deep learning text models
      • Dense, LSTM, GRU, Conv1D, Transfer learning
  • Comparing the performance of each our models
  • Combining our models into an ensemble
  • Saving and loading a trained model
  • Find the most wrong predictions