Tracker for Debuggability Improvement
See original GitHub issue🚀 Key Features
This is a tracker issue for the improvement for debuggability.
graph TD;
DP1-->DP2;
DP2-->DP3;
DP2-->DP4;
DP3-->DP5;
DP4-->DP6;
DP5-->DP6;
DP6-->output;
can be printed out as the following
>>> print_graph(traverse(dp6))
DP1 -> DP2 -> DP3 -> DP5
\ \
DP4 --------> DP6 ->
- Find a way to differentiate DataPipe instance in the graph
- Provide shorter name for each DataPipe instance (name is now modified within exception)
- Print input arguments of the DataPipe within exceptions https://github.com/pytorch/pytorch/pull/75618
-
Provide unique name using incremental number for the instance of the same DataPipe class
- Improve back tracing
- During Iteration, remove this profiling part within back tracing https://github.com/pytorch/pytorch/blob/11231b0f935c092598c994a4bab686485aac1856/torch/utils/data/_typing.py#L340
- Reduce back tracing to highlight which DataPipe is the culprit when
__len__
is invoked.
- #210
Nice to Haves
This section is tracking potential features that we may want
- Handling mixed usage of
IterDataPipe
,MapDataPipe
, torcharrowDataFrame
- Are users able to clearly differentiate these when they are using a mixture of these classes?
- Connect profiling result with graph
- Different colors for nodes based on their performance (similar to TensorBoard)
Motivation, pitch
This would help our users and developers to easily understand what’s going on with the pipeline. Feel free to post more request for debuggability.
Alternatives
No response
Additional context
No response
Issue Analytics
- State:
- Created 2 years ago
- Comments:9 (5 by maintainers)
Top Results From Across the Web
17 Best Bug Tracking Tools: Defect Tracking Tools of 2022
Here is a review of the best Bug Tracking Tools to make your bug management process simpler so you can concentrate on finding...
Read more >List of Top Debugging Tools 2022 - TrustRadius
Debugging Tools reviews, comparisons, alternatives and pricing. ... Rollbar is a continuous code improvement platform that proactively discovers, predicts, ...
Read more >GPS Tracker Bug Sweep TSCM Electronic Debugging Service
Call 1 (888) 386-6482 today to speak with a trained TSCM technician. Our bug sweeps professionals will conduct a GPS Tracker Bug Sweep...
Read more >Tracking Bugs - The Debugging Book
The most basic task of a bug tracker is to report bugs. However, a bug tracker is a bit more general than just...
Read more >Change Tracker Debugging - EF Core - Microsoft Learn
The Entity Framework Core (EF Core) change tracker generates two kinds ... Title: 'Disassembly improvements for optimized managed debugging' ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
One thing that would also simplify debugging, is for each datapipe to have a
__repr__
. We can follow the approachnn.Module
is going:That would also improve the graph visualization from #299, since each node could contain the
__repr__
of the datapipe rather than just its name.Regarding graph visualization: I needed this today and hacked something together:
Simple example:
Complex example:
I’ve used
networkx
as backend here, but we can use any graph visualization library. Let me know, if I should prettify the plots and send a PR.