Debugging and Monitoring TensorFlow Programs

Debugging and Monitoring TensorFlow Programs

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 2h 17m | 339 MB

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.

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

Course Overview
1 Course Overview

Introducing TensorFlow Debugging Methods
2 Module Overview
3 Prerequisites and Course Overview
4 A Brief Overview of Computation Graphs
5 Debugging TensorFlow Programs
6 Fetching Tensors – Computing Intermediate Values
7 Fetching Tensors – A Neural Network Example
8 Fetching Tensors – Side Effects
9 Partial Runs
10 Introducing tf.Print()
11 tf.Print() – A Neural Network Example
12 Introducing tf.Assert()
13 Traditional Python Debuggers
14 Interposing Python Code in Computation Graphs
15 Introducing tfdbg and TensorBoard

Applying tfdbg to Common Use-cases
16 Module Overview
17 The Curses Library for tfdbg
18 Introducing tfdbg Commands
19 Debugging Shortcuts and Multiple Session Runs
20 Using has_inf_or_nan and Custom Filters
21 Using Filters with Neural Networks
22 Debugging Estimators and Experiments
23 Debugging Keras Models

Visualizing TensorFlow Using TensorBoard
24 Module Overview
25 Introducing TensorBoard
26 Naming Tensors and Nodes
27 Using Named Scopes
28 Scalar Summaries
29 Histograms
30 Moving Mean Normal Distribution
31 More Histograms
32 Runtime Statistics
33 Working with Images