Theano allows function profiling by setting the
profile=True flag. After at least one function call, the compute time of each node can be then be printed with
debugprint. However, analyzing complex graphs in this way can become cumbersome.
d3printing allows now to graphically visualize the same timing information and hence to easily spot bottlenecks in Theano graphs! If the function has been profiled, a ‘Toggle profile colors’ button will appear on the top on the page. By clicking on it, nodes will be colored by their compute time. In addition, timing information can be retrieved by mouse-over event! You can find an example here, and the source code here.
The second new feature is a context menu to edit the label of nodes and to release them from a fixed position.
The next release will make it possible to visualize complicated nested graphs with OpFromGraph nodes. Stay tuned!