Computational graph visualization is used to display the graph structure, data flow direction, and control flow direction of a computational graph. It supports visualization of summary log files and pb files generated by `save_graphs` configuration in `context`.
![graph.png](./images/graph.png)
### Training Dashboard
Figure 1: Computational graph display area
Figure 1 shows the network structure of a computational graph. As shown in the figure, select an operator in the area of the display area. The operator has two inputs and one outputs (the solid line indicates the data flow direction of the operator).
![graph_sidebar.png](./images/graph_sidebar.png)
Figure 2 Computational graph function area
Figure 2 shows the function area of the computational graph, including:
* File selection box: View the computational graphs of different files.
* Search box: Enter a node name and press Enter to view the node.
* Thumbnail: Display the thumbnail of the entire network structure. When viewing an extra large image structure, you can view the currently browsed area.
* Node information: Display the basic information of the selected node, including the node name, properties, input node, and output node.
* Legend: Display the meaning of each icon in the computational graph.
Access the Training Dashboard by selecting a specific training from the training list.
### Scalar Visualization
#### Scalar Visualization
Scalar visualization is used to display the change trend of scalars during training.
![scalar.png](./images/scalar.png)
Figure 3: Scalar trend chart
Figure 1: Scalar trend chart
Figure 3 shows a change process of loss values during the neural network training. The horizontal coordinate indicates the training step, and the vertical coordinate indicates the loss value.
Figure 1 shows a change process of loss values during the neural network training. The horizontal coordinate indicates the training step, and the vertical coordinate indicates the loss value.
Buttons from left to right in the upper right corner of the figure are used to display the chart in full screen, switch the Y-axis scale, enable or disable the rectangle selection, roll back the chart step by step, and restore the chart.
...
...
@@ -278,12 +263,11 @@ Buttons from left to right in the upper right corner of the figure are used to d
- Step-by-step Rollback: Cancel operations step by step after continuously drawing rectangles to select and zooming in the same area.
- Restore Chart: Restore a chart to the original state.
![scalar_select.png](./images/scalar_select.png)
Figure 4: Scalar visualization function area
Figure 2: Scalar visualization function area
Figure 4 shows the scalar visualization function area, which allows you to view scalar information by selecting different tags, different dimensions of the horizontal axis, and smoothness.
Figure 2 shows the scalar visualization function area, which allows you to view scalar information by selecting different tags, different dimensions of the horizontal axis, and smoothness.
- Tag: Select the required tags to view the corresponding scalar information.
- Horizontal Axis: Select any of Step, Relative Time, and Absolute Time as the horizontal axis of the scalar curve.
...
...
@@ -292,128 +276,181 @@ Figure 4 shows the scalar visualization function area, which allows you to view
Figure 5: Scalar synthesis of Accuracy and Loss curves
Figure 3: Scalar synthesis of Accuracy and Loss curves
Figure 3 shows the scalar synthesis of the Accuracy and Loss curves. The function area of scalar synthesis is similar to that of scalar visualization. Different from the scalar visualization function area, the scalar synthesis function allows you to select a maximum of two tags at a time to synthesize and display their curves.
#### Parameter Distribution Visualization
The parameter distribution in a form of a histogram displays tensors specified by a user.
![histogram.png](./images/histogram.png)
Figure 4: Histogram
Figure 4 shows tensors recorded by a user in a form of a histogram. Click the upper right corner to zoom in the histogram.
Figure 5: Function area of the parameter distribution histogram
Figure 5 shows the function area of the parameter distribution histogram, including:
- Tag selection: Select the required tags to view the corresponding histogram.
- Vertical axis: Select any of `Step`, `Relative time`, and `Absolute time` as the data displayed on the vertical axis of the histogram.
- Angle of view: Select either `Front` or `Top`. `Front` view refers to viewing the histogram from the front view. In this case, data between different steps is overlapped. `Top` view refers to viewing the histogram at an angle of 45 degrees. In this case, data between different steps can be presented.
#### Computational Graph Visualization
Computational graph visualization is used to display the graph structure, data flow direction, and control flow direction of a computational graph. It supports visualization of summary log files and pb files generated by `save_graphs` configuration in `context`.
![graph.png](./images/graph.png)
Figure 6: Computational graph display area
Figure 6 shows the network structure of a computational graph. As shown in the figure, select an operator in the area of the display area. The operator has two inputs and one outputs (the solid line indicates the data flow direction of the operator).
![graph_sidebar.png](./images/graph_sidebar.png)
Figure 7: Computational graph function area
Figure 7 shows the function area of the computational graph, including:
* File selection box: View the computational graphs of different files.
* Search box: Enter a node name and press Enter to view the node.
* Thumbnail: Display the thumbnail of the entire network structure. When viewing an extra large image structure, you can view the currently browsed area.
* Node information: Display the basic information of the selected node, including the node name, properties, input node, and output node.
* Legend: Display the meaning of each icon in the computational graph.
#### Dataset Graph Visualization
Dataset graph visualization is used to display data processing and augmentation information of a single model training.
![data_function.png](./images/data_function.png)
Figure 8: Dataset graph function area
Figure 8 shows the dataset graph function area which includes the following content:
Figure 5 shows the scalar synthesis of the Accuracy and Loss curves. The function area of scalar synthesis is similar to that of scalar visualization. Different from the scalar visualization function area, the scalar synthesis function allows you to select a maximum of two tags at a time to synthesize and display their curves.
* Legend: Display the meaning of each icon in the data lineage graph.
* Data Processing Pipeline: Display the data processing pipeline used for training. Select a single node in the graph to view details.
* Node Information: Display basic information about the selected node, including names and parameters of the data processing and augmentation operators.
### Image Visualization
#### Image Visualization
Image visualization is used to display images specified by users.
![image.png](./images/image_vi.png)
Figure 6: Image visualization
Figure 9: Image visualization
Figure 6 shows how to view images of different steps by sliding the Step slider.
Figure 9 shows how to view images of different steps by sliding the Step slider.
Figure 7 shows the function area of image visualization. You can view image information by selecting different tags, brightness, and contrast.
Figure 10 shows the function area of image visualization. You can view image information by selecting different tags, brightness, and contrast.
- Tag: Select the required tags to view the corresponding image information.
- Brightness Adjustment: Adjust the brightness of all displayed images.
- Contrast Adjustment: Adjust the contrast of all displayed images.
### Model Lineage Visualization
### Model Lineage
Model lineage visualization is used to display the parameter information of all training models.
![image.png](./images/lineage_label.png)
Figure 8: Model parameter selection area
Figure 11: Model parameter selection area
Figure 8 shows the model parameter selection area, which lists the model parameter tags that can be viewed. You can select required tags to view the corresponding model parameters.
Figure 11 shows the model parameter selection area, which lists the model parameter tags that can be viewed. You can select required tags to view the corresponding model parameters.
![image.png](./images/lineage_model_chart.png)
Figure 9: Model lineage function area
Figure 12: Model lineage function area
Figure 9 shows the model lineage function area, which visualizes the model parameter information. You can select a specific area in the column to display the model information within the area.
Figure 12 shows the model lineage function area, which visualizes the model parameter information. You can select a specific area in the column to display the model information within the area.
![image.png](./images/lineage_model_table.png)
Figure 10: Model list
Figure 10 shows all model information in groups. You can sort the model information in ascending or descending order by specified column.
### Dataset Graph Visualization
Dataset graph visualization is used to display data processing and augmentation information of a single model training.
![data_function.png](./images/data_function.png)
Figure 11: Dataset graph function area
Figure 11 shows the dataset graph function area which includes the following content:
Figure 13: Model list
* Legend: Display the meaning of each icon in the data lineage graph.
* Data Processing Pipeline: Display the data processing pipeline used for training. Select a single node in the graph to view details.
* Node Information: Display basic information about the selected node, including names and parameters of the data processing and augmentation operators.
Figure 13 shows all model information in groups. You can sort the model information in ascending or descending order by specified column.
### Dataset Lineage Visualization
### Dataset Lineage
Dataset lineage visualization is used to display data processing and augmentation information of all model trainings.
![data_label.png](./images/data_label.png)
Figure 12: Data processing and augmentation operator selection area
Figure 14: Data processing and augmentation operator selection area
Figure 12 shows the data processing and augmentation operator selection area, which lists names of data processing and augmentation operators that can be viewed. You can select required tags to view related parameters.
Figure 14 shows the data processing and augmentation operator selection area, which lists names of data processing and augmentation operators that can be viewed. You can select required tags to view related parameters.
![data_chart.png](./images/data_chart.png)
Figure 13: Dataset lineage function area
Figure 15: Dataset lineage function area
Figure 13 shows the dataset lineage function area, which visualizes the parameter information used for data processing and augmentation. You can select a specific area in the column to display the parameter information within the area.
Figure 15 shows the dataset lineage function area, which visualizes the parameter information used for data processing and augmentation. You can select a specific area in the column to display the parameter information within the area.
![data_table.png](./images/data_table.png)
Figure 14: Dataset lineage list
Figure 16: Dataset lineage list
Figure 14 shows the data processing and augmentation information of all model trainings.
Figure 16 shows the data processing and augmentation information of all model trainings.
### Parameter Distribution
### Scalars Comparision
The parameter distribution in a form of a histogram displays tensors specified by a user.
Scalars Comparision can be used to compare scalar curves between multiple trainings
![histogram.png](./images/histogram.png)
![multi_scalars.png](./images/multi_scalars.png)
Figure 15: Histogram
Figure 17: Scalars comparision curve area
Figure 15 shows tensors recorded by a user in a form of a histogram. Click the upper right corner to zoom in the histogram.
Figure 17 shows the scalar curve comparision between multiple trainings. The horizontal coordinate indicates the training step, and the vertical coordinate indicates the scalar value.
Buttons from left to right in the upper right corner of the figure are used to display the chart in full screen, switch the Y-axis scale, enable or disable the rectangle selection, roll back the chart step by step, and restore the chart.
- Full-screen Display: Display the scalar curve in full screen. Click the button again to restore it.
- Switch Y-axis Scale: Perform logarithmic conversion on the Y-axis coordinate.
- Enable/Disable Rectangle Selection: Draw a rectangle to select and zoom in a part of the chart. You can perform rectangle selection again on the zoomed-in chart.
- Step-by-step Rollback: Cancel operations step by step after continuously drawing rectangles to select and zooming in the same area.
- Restore Chart: Restore a chart to the original state.
Figure 16: Function area of the parameter distribution histogram
Figure 16 shows the function area of the parameter distribution histogram, including:
Figure 18: Scalars comparision function area
- Tag selection: Select the required tags to view the corresponding histogram.
- Vertical axis: Select any of `Step`, `Relative time`, and `Absolute time` as the data displayed on the vertical axis of the histogram.
- Angle of view: Select either `Front` or `Top`. `Front` view refers to viewing the histogram from the front view. In this case, data between different steps is overlapped. `Top` view refers to viewing the histogram at an angle of 45 degrees. In this case, data between different steps can be presented.
Figure 18 shows the scalars comparision function area, which allows you to view scalar information by selecting different trainings or tags, different dimensions of the horizontal axis, and smoothness.
## Performance Profiler
- Training: Select or filter the required trainings to view the corresponding scalar information.
- Tag: Select the required tags to view the corresponding scalar information.
- Horizontal Axis: Select any of Step, Relative Time, and Absolute Time as the horizontal axis of the scalar curve.
- Smoothness: Adjust the smoothness to smooth the scalar curve.
### Performance Profiler
### Operator Performance Analysis
Access the Performance Profiler by selecting a specific training from the training list.
#### Operator Performance Analysis
The operator performance analysis component is used to display the execution time of the operators during MindSpore run.
Figure 17 displays the statistics for the operator types, including:
Figure 19 displays the statistics for the operator types, including:
- Choose pie or bar graph to show the proportion time occupied by each operator type. The time of one operator type is calculated by accumulating the execution time of operators belong to this type.
- Display top 20 operator types with longest execution time, show the proportion and execution time (ms) of each operator type.
![op_statistics.png](./images/op_statistics.PNG)
Figure 18: Statistics for Operators
Figure 20: Statistics for Operators
Figure 18 displays the statistics table for the operators, including:
Figure 20 displays the statistics table for the operators, including:
- Choose All: Display statistics for the operators, including operator name、type、excution time、full scope time、information etc. The table will be sorted by execution time by default.
- Choose Type: Display statistics for the operator types, including operator type name、execution time、execution frequency and proportion of total time. Users can click on each line, querying for all the operators belong to this type.
...
...
@@ -429,4 +466,9 @@ To limit memory usage, MindInsight limits the number of tags and steps:
- There are 10 steps at most for each image tag in each training dashboard. When steps exceed limit, MindInsight will sample steps randomly to meet this limit.
- There are 50 steps at most for each parameter distribution(histogram) tag in each training dashboard. When steps exceed limit, MindInsight will sample steps randomly to meet this limit.
To ensure performance, MindInsight implements scalars comparision with the cache mechanism and the following restrictions:
- The scalars comparision supports only for trainings in cache.
- The maximum of 15 latest trainings (sorted by modification time) can be retained in the cache.
- The maximum of 5 trainings can be selected for scalars comparision at the same time.
To limit the data size generated by the Profiler, MindInsight suggests that for large neural network, the profiled steps should better below 10.