TensorFlow is a machine learning library that was open-sourced by Google. Beyond the ability to work on problems with traditional machine learning, TensorFlow is most popularly used for Deep Learning. It provides an extensive library of tools for research in deep learning to the deployment of such models.
This competency includes tf.data.Dataset, data preprocessing libraries, an understanding of Keras, optimizers, loss functions available in TensorFlow, saving and loading models, implementation of neural networks, and debugging.
- tf.data.Dataset - Large datasets are generally used for deep learning and are memory inefficient. tf.data.Dataset provides a way to stream this data in an efficient manner.
- Data Preprocessing - Usage of TensorFlow features for reading, writing and manipulating different types of data such as images, text, audio, etc.
- Keras - A good understanding of Keras and how it works. Keras is a popular open-source library for building neural networks in an intuitive way that is ported into Tensorflow.
- Optimizers - TensorFlow consists of several gradient descent optimizers such as Adam, RMSProp, Adagrad, SGD, etc.
- Loss - Ability to set up a loss function both from the TensorFlow library or write a custom loss function for a machine learning model.
- Saving and Loading Models - Usage of .save() and .load() function to save and load models and parameters and also, an understanding of possible cases where this would fail.
- Neural Networks - Ability to use Keras to build a neural network for simple problems such as binary classification or linear regression.
- Debugging - Ability to debug problems during training or testing by extracting states of parameters from the session or any other way.