TensorFlow is a machine learning framework with the ability to work on problems beyond 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 basics of linear algebra, static computational graphs, data types available in TensorFlow (variables, placeholders, and constants), session, tensor operations, using GPUs, and implementation of linear regression using basic operations.
- Basics of Linear Algebra - A good understanding of concepts such as vectors, matrices, tensors, matrix multiplication, etc.
- Static Computational Graphs - A theoretical understanding of computational graphs and the ability to visualize simple programs such as the addition of two numbers as computational graphs. An understanding of the difference between static and dynamic computational graphs.
- Variables, Placeholders, and Constants - These are the three main data types available in TensorFlow. Variables are used to store trainable parameters of the model. Placeholders are commonly used for feeding input data into the machine learning model. They are variables without value initially but are fed input during a session run. Constants are constants defined for a particular operation and are not updated during backprop.
- tf.Session - After the computational graph has been set up, tf.Session is the wrapper that is used to execute a subgraph or the complete graph.
- Tensor Operations - Ability to create and manipulate tensors using TensorFlow such as reshaping, multiplying, sum on a different axis, transformations, assignment etc. Performing tasks such as converting an RGB image to black and white.
- Using GPUs - Usage of tf.device to run operations on CPUs or any GPU.
- Logistic Regression - Ability to set up a computational graph for simple logistic regression with gradient descent.