A visual debugger for TensorFlow with breakpoints and real-time data visualization during neural network training.
TensorDebugger (TDB) is a visual debugger for TensorFlow that extends Google's deep learning framework with breakpoints and real-time visualization of data flowing through computational graphs. It helps developers and researchers debug neural networks interactively by allowing them to pause execution, inspect tensors, and visualize training metrics as the model runs.
Machine learning researchers and developers working with TensorFlow who need to debug complex neural networks, visualize training dynamics, or understand model behavior during prototyping.
TDB provides interactive, node-by-node debugging and real-time visualization that TensorBoard lacks, enabling immediate inspection without writing log files first. It's like GDB for TensorFlow, offering step-through execution and custom plotting directly within the training loop.
Interactive, node-by-node debugging and visualization for TensorFlow
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows setting breakpoints on Ops and Tensors and stepping through graphs node-by-node with commands like `tdb.s()`, similar to traditional debuggers like GDB, as detailed in the debugging section.
Supports arbitrary user-defined plot functions for metrics like histograms and gradient magnitudes during training, without needing to write log files first, enabling immediate visualization.
Enables mixing Python functions and plotting operations directly into the TensorFlow graph via `tdb.python_op` and `tdb.plot_op`, as shown in the custom nodes examples.
Functions as a Jupyter notebook extension for interactive debugging in notebooks, with setup instructions provided for installation, enhancing prototyping workflows.
The README explicitly states the project is no longer actively maintained and recommends using the official tfdbg debugger, making it unsuitable for long-term or new projects.
Only Matplotlib is supported for plotting backends, with promised expansions to Seaborn or Bokeh not delivered due to project inactivity, restricting visualization options.
Setting up the Jupyter extension requires manual downloading and extracting of a zip file using urllib, as per the setup code, which is error-prone and outdated compared to modern package managers.