Debugging and Monitoring TensorFlow Programs
This course goes deep into two specific tools in the TensorFlow toolkit - tfdbg and TensorBoard. These tools can be used to examine the internal state of TensorFlow programs and to visualize execution metrics and state.
What you'll learn
An important facet of building good ML models is the ability to debug TensorFlow code when your models do not converge. Traditional debuggers fall short in this regard which is why tfdbg and TensorBoard are important skills in your toolkit.
In this course, Debugging and Monitoring TensorFlow Programs, you will learn how you can adapt TensorFlow commands and library functions to help debug your programs in addition to learning specialized tools like tfdbg and Tensorboard.
First, you will go over TensorFlow's special features to debug your code. Partial graph executions, tf.Print() and tf.Assert() statements, traditional Python debuggers and the tf.py_func() to interpose arbitrary Python code into your computation graph all help debug the graph build phase.
Next, you will see that the specialized TensorFlow debugger tfdbg works very much like traditional Python debuggers but has the ability to step into session.run() statements and display the state of your computation graph at every step. It also has filters like the has_inf_or_nan which allows you to break at the exact point your model begins to diverge.
Finally, you will be shown Tensorboard, which is a browser-based tool that helps you visualize your computation graph and view how control flows through your code. In addition, it can be used to display execution metrics and the current state of your program.
After finishing this course, you will be closer to mastering TensorFlow through equipping you with important tools to build and debug robust machine learning models.
Table of contents
- Version Check 0m
- Module Overview 2m
- Prerequisites and Course Overview 3m
- A Brief Overview of Computation Graphs 2m
- Debugging TensorFlow Programs 3m
- Fetching Tensors: Computing Intermediate Values 4m
- Fetching Tensors: A Neural Network Example 4m
- Fetching Tensors: Side Effects 3m
- Partial Runs 5m
- Introducing tf.Print() 4m
- tf.Print(): A Neural Network Example 4m
- Introducing tf.Assert() 7m
- Traditional Python Debuggers 4m
- Interposing Python Code in Computation Graphs 4m
- Introducing tfdbg and TensorBoard 2m