/tensorflow-ml

Primary LanguageJupyter Notebook

Tensorflow Notes

The following are my notes and example Jupyter notebooks based on the Google certification course for Tensorflow (2.x) and general ML/RL best practices.

Demonstration of an understanding on how to develop software programs using TensorFlow and information resources around ML.

You need to:

  • Know how to program in Python, resolve Python issues, and compile and run Python programs in PyCharm.
  • Know how to find information about TensorFlow APIs, including how to find guides and API references on tensorflow.org.
  • Know how to debug, investigate, and solve error messages from the TensorFlow API.
  • Know how to search beyond tensorflow.org, as and when necessary, to solve your TensorFlow questions.
  • Know how to create ML models using TensorFlow where the model size is reasonable for the problem being solved.
  • Know how to save ML models and check the model file size.
  • Understand the compatibility discrepancies between different versions of TensorFlow.

Click here for more details on the above

(2) Building and training neural network models using TensorFlow 2.x

You need to understand the foundational principles of machine learning (ML) and deep learning (DL) using TensorFlow 2.x.

You need to know how to:

  • Use TensorFlow 2.x.
  • Build, compile and train machine learning (ML) models using TensorFlow.
  • Preprocess data to get it ready for use in a model.
  • Use models to predict results.
  • Build sequential models with multiple layers.
  • Build and train models for binary classification.
  • Build and train models for multi-class categorization.
  • Plot loss and accuracy of a trained model.
  • Identify strategies to prevent overfitting, including augmentation and dropout.
  • Use pretrained models (transfer learning).
  • Extract features from pre-trained models.
  • Ensure that inputs to a model are in the correct shape.
  • Ensure that you can match test data to the input shape of a neural network.
  • Ensure you can match output data of a neural network to specified input shape for test data.
  • Understand batch loading of data.
  • Use callbacks to trigger the end of training cycles.
  • Use datasets from different sources.
  • Use datasets in different formats, including json and csv.
  • Use datasets from tf.data.datasets.

(3) Image classification

You need to understand how to build image recognition and object detection models with deep neural networks and convolutional neural networks using TensorFlow 2.x.

You need to know how to:

  • Define Convolutional neural networks with Conv2D and pooling layers.
  • Build and train models to process real-world image datasets.
  • Understand how to use convolutions to improve your neural network.
  • Use real-world images in different shapes and sizes..
  • Use image augmentation to prevent overfitting.
  • Use ImageDataGenerator.
  • Understand how ImageDataGenerator labels images based on the directory structure.

(4) Natural language processing (NLP)

You need to understand how to use neural networks to solve natural language processing problems using TensorFlow.

You need to know how to:

  • Build natural language processing systems using TensorFlow.
  • Prepare text to use in TensorFlow models.
  • Build models that identify the category of a piece of text using binary categorization
  • Build models that identify the category of a piece of text using multi-class categorization
  • Use word embeddings in your TensorFlow model.
  • Use LSTMs in your model to classify text for either binary or multi-class categorization.
  • Add RNN and GRU layers to your model.
  • Use RNNS, LSTMs, GRUs and CNNs in models that work with text.
  • Train LSTMs on existing text to generate text (such as songs and poetry)

(5) Time series, sequences and predictions

You need to understand how to solve time series and forecasting problems in TensorFlow.

You need to know how to:

  • Train, tune and use time series, sequence and prediction models.
  • Train models to predict values for both univariate and multivariate time series.
  • Prepare data for time series learning.
  • Understand Mean Absolute Error (MAE) and how it can be used to evaluate accuracy of sequence models.
  • Use RNNs and CNNs for time series, sequence and forecasting models.
  • Identify when to use trailing versus centred windows.
  • Use TensorFlow for forecasting.
  • Prepare features and labels.
  • Identify and compensate for sequence bias.
  • Adjust the learning rate dynamically in time series, sequence and prediction models