diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/__init__.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..ee2432f470b406bca849a0d9362b8e396a7e21b2 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/__init__.py @@ -0,0 +1,15 @@ +# Copyright (c) 2025, Huawei Technologies. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis new file mode 100644 index 0000000000000000000000000000000000000000..3dae84fa1176d27fe0024a0e6e34c594f765553f --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis @@ -0,0 +1,17312 @@ +{ + "NPU": { + "root": "DefaultModel", + "dump_data_dir": null, + "node": { + "DefaultModel": { + "id": "DefaultModel", + "node_type": 0, + "output_data": {}, + "input_data": {}, + "upnode": "None", + "subnodes": [ + "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.Sequential.forward.0", + "Module.layer2.Sequential.forward.0", + "Module.layer3.Sequential.forward.0", + "Module.layer4.Sequential.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.fc.Linear.forward.0", + "Module.fc.Linear.backward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.Sequential.backward.0", + "Module.layer3.Sequential.backward.0", + "Module.layer2.Sequential.backward.0", + "Module.layer1.Sequential.backward.0", + "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.conv1.Conv2d.forward.0": { + "id": "Module.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "1.526799", + "Min": "-1.559762", + "Mean": "-0.000263", + "Norm": "244.860931", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 3, 64, 64]", + "Max": "4.350435", + "Min": "-4.339223", + "Mean": "-0.001572", + "Norm": "350.247772", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 268, in _forward_impl, \n x = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.bn1.BatchNorm2d.forward.0": { + "id": "Module.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "-5.146786", + "Mean": "4.656613e-11", + "Norm": "809.493835", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "1.526799", + "Min": "-1.559762", + "Mean": "-0.000263", + "Norm": "244.860931", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 269, in _forward_impl, \n x = self.bn1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.relu.ReLU.forward.0": { + "id": "Module.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "0.397851", + "Norm": "572.419128", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "0.397851", + "Norm": "572.419128", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 270, in _forward_impl, \n x = self.relu(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.maxpool.MaxPool2d.forward.0": { + "id": "Module.maxpool.MaxPool2d.forward.0", + "node_type": 0, + "output_data": { + "Module.maxpool.MaxPool2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.maxpool.MaxPool2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "0.397851", + "Norm": "572.419128", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 271, in _forward_impl, \n x = self.maxpool(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.BasicBlock.forward.0": { + "id": "Module.layer1.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.Sequential.forward.0", + "subnodes": [ + "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.conv1.Conv2d.forward.0": { + "id": "Module.layer1.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.74388", + "Min": "-7.379547", + "Mean": "-0.12333", + "Norm": "858.103699", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.Sequential.forward.0": { + "id": "Module.layer1.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "1.241406", + "Min diff": "-0.352369", + "Mean diff": "3.252369", + "L2norm diff": "6.914416", + "MaxRelativeErr": "66.663253%", + "MinRelativeErr": "56.663237%", + "MeanRelativeErr": "52.663233%", + "NormRelativeErr": "53.663533%" + } + }, + "input_data": { + "Module.layer1.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0.7 + } + }, + "Module.layer1.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "-4.199296", + "Mean": "1.620501e-08", + "Norm": "404.769043", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.74388", + "Min": "-7.379547", + "Mean": "-0.12333", + "Norm": "858.103699", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.relu.ReLU.forward.0": { + "id": "Module.layer1.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "0.0", + "Mean": "0.39636", + "Norm": "286.644501", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "0.0", + "Mean": "0.39636", + "Norm": "286.644501", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.conv2.Conv2d.forward.0": { + "id": "Module.layer1.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.442179", + "Min": "-3.972987", + "Mean": "0.084329", + "Norm": "370.438843", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "0.0", + "Mean": "0.39636", + "Norm": "286.644501", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.605992", + "Min": "-4.646146", + "Mean": "4.284084e-09", + "Norm": "404.767944", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.442179", + "Min": "-3.972987", + "Mean": "0.084329", + "Norm": "370.438843", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.relu.ReLU.forward.1": { + "id": "Module.layer1.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.BasicBlock.forward.0": { + "id": "Module.layer1.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "6.326555", + "Min diff": "5.36963", + "Mean diff": "5.12369", + "L2norm diff": "8.39633", + "MaxRelativeErr": "83.235636%", + "MinRelativeErr": "69.362945%", + "MeanRelativeErr": "72.369548%", + "NormRelativeErr": "71.369612%" + } + }, + "input_data": { + "Module.layer1.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.Sequential.forward.0", + "subnodes": [ + "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer1.1.conv1.Conv2d.forward.0": { + "id": "Module.layer1.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "9.274334", + "Min": "-10.156013", + "Mean": "-0.101834", + "Norm": "975.393066", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "-4.49145", + "Mean": "-2.235174e-09", + "Norm": "404.770447", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "9.274334", + "Min": "-10.156013", + "Mean": "-0.101834", + "Norm": "975.393066", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.relu.ReLU.forward.0": { + "id": "Module.layer1.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "0.0", + "Mean": "0.399545", + "Norm": "286.493317", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "0.0", + "Mean": "0.399545", + "Norm": "286.493317", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.conv2.Conv2d.forward.0": { + "id": "Module.layer1.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.431858", + "Min": "-4.229196", + "Mean": "0.005514", + "Norm": "375.989105", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "0.0", + "Mean": "0.399545", + "Norm": "286.493317", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.475619", + "Min": "-4.364196", + "Mean": "1.396984e-09", + "Norm": "404.76828", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.431858", + "Min": "-4.229196", + "Mean": "0.005514", + "Norm": "375.989105", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.relu.ReLU.forward.1": { + "id": "Module.layer1.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.0.BasicBlock.forward.0": { + "id": "Module.layer2.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.Sequential.forward.0", + "subnodes": [ + "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.conv1.Conv2d.forward.0": { + "id": "Module.layer2.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.363841", + "Min": "-8.813498", + "Mean": "0.116351", + "Norm": "582.720398", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.Sequential.forward.0": { + "id": "Module.layer2.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "-4.77158", + "Mean": "1.303852e-09", + "Norm": "286.215912", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.363841", + "Min": "-8.813498", + "Mean": "0.116351", + "Norm": "582.720398", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.0.relu.ReLU.forward.0": { + "id": "Module.layer2.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "0.0", + "Mean": "0.400609", + "Norm": "202.299973", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "0.0", + "Mean": "0.400609", + "Norm": "202.299973", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.0.conv2.Conv2d.forward.0": { + "id": "Module.layer2.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.0345", + "Min": "-4.125886", + "Mean": "-0.100337", + "Norm": "260.142944", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "0.0", + "Mean": "0.400609", + "Norm": "202.299973", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.152795", + "Min": "-4.936253", + "Mean": "3.725290e-10", + "Norm": "286.214294", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.0345", + "Min": "-4.125886", + "Mean": "-0.100337", + "Norm": "260.142944", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0.81 + } + }, + "Module.layer2.0.downsample.Sequential.forward.0": { + "id": "Module.layer2.0.downsample.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.257706", + "Min": "-4.515994", + "Mean": "-1.117587e-09", + "Norm": "286.215851", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.downsample.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [ + "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.downsample.0.Conv2d.forward.0": { + "id": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.0.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.203266", + "Min": "-9.355068", + "Mean": "-0.02311", + "Norm": "617.127319", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.downsample.0.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": { + "id": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.257706", + "Min": "-4.515994", + "Mean": "-1.117587e-09", + "Norm": "286.215851", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.203266", + "Min": "-9.355068", + "Mean": "-0.02311", + "Norm": "617.127319", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.relu.ReLU.forward.1": { + "id": "Module.layer2.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.BasicBlock.forward.0": { + "id": "Module.layer2.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.Sequential.forward.0", + "subnodes": [ + "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.conv1.Conv2d.forward.0": { + "id": "Module.layer2.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.62359", + "Min": "-5.580112", + "Mean": "0.074416", + "Norm": "367.649841", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "-4.101557", + "Mean": "-3.818422e-09", + "Norm": "286.215485", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.62359", + "Min": "-5.580112", + "Mean": "0.074416", + "Norm": "367.649841", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.relu.ReLU.forward.0": { + "id": "Module.layer2.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "0.0", + "Mean": "0.397453", + "Norm": "202.738693", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "0.0", + "Mean": "0.397453", + "Norm": "202.738693", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.conv2.Conv2d.forward.0": { + "id": "Module.layer2.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.393562", + "Min": "-4.753343", + "Mean": "-0.078746", + "Norm": "260.969421", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "0.0", + "Mean": "0.397453", + "Norm": "202.738693", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.73594", + "Min": "-4.475933", + "Mean": "2.421439e-09", + "Norm": "286.214294", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.393562", + "Min": "-4.753343", + "Mean": "-0.078746", + "Norm": "260.969421", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.relu.ReLU.forward.1": { + "id": "Module.layer2.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.BasicBlock.forward.0": { + "id": "Module.layer3.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.Sequential.forward.0", + "subnodes": [ + "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.conv1.Conv2d.forward.0": { + "id": "Module.layer3.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.532973", + "Min": "-6.165116", + "Mean": "0.023511", + "Norm": "250.68428", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.Sequential.forward.0": { + "id": "Module.layer3.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0.81 + } + }, + "Module.layer3.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "-4.041963", + "Mean": "1.024455e-09", + "Norm": "202.384674", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.532973", + "Min": "-6.165116", + "Mean": "0.023511", + "Norm": "250.68428", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.relu.ReLU.forward.0": { + "id": "Module.layer3.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "0.0", + "Mean": "0.397493", + "Norm": "142.493881", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "0.0", + "Mean": "0.397493", + "Norm": "142.493881", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.conv2.Conv2d.forward.0": { + "id": "Module.layer3.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.085584", + "Min": "-3.535729", + "Mean": "0.009184", + "Norm": "171.884354", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "0.0", + "Mean": "0.397493", + "Norm": "142.493881", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.328585", + "Min": "-4.24462", + "Mean": "-5.587936e-10", + "Norm": "202.383789", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.085584", + "Min": "-3.535729", + "Mean": "0.009184", + "Norm": "171.884354", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.downsample.Sequential.forward.0": { + "id": "Module.layer3.0.downsample.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.673633", + "Min": "-4.118578", + "Mean": "2.980232e-09", + "Norm": "202.384674", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.downsample.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [ + "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.downsample.0.Conv2d.forward.0": { + "id": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.0.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.544863", + "Min": "-5.637341", + "Mean": "0.063504", + "Norm": "262.41275", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.downsample.0.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": { + "id": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.673633", + "Min": "-4.118578", + "Mean": "2.980232e-09", + "Norm": "202.384674", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.544863", + "Min": "-5.637341", + "Mean": "0.063504", + "Norm": "262.41275", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.relu.ReLU.forward.1": { + "id": "Module.layer3.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.BasicBlock.forward.0": { + "id": "Module.layer3.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.Sequential.forward.0", + "subnodes": [ + "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.conv1.Conv2d.forward.0": { + "id": "Module.layer3.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.445492", + "Min": "-5.73983", + "Mean": "0.056189", + "Norm": "242.794586", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "-4.302232", + "Mean": "6.053597e-10", + "Norm": "202.384811", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.445492", + "Min": "-5.73983", + "Mean": "0.056189", + "Norm": "242.794586", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.relu.ReLU.forward.0": { + "id": "Module.layer3.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "0.0", + "Mean": "0.397107", + "Norm": "143.5979", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "0.0", + "Mean": "0.397107", + "Norm": "143.5979", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.conv2.Conv2d.forward.0": { + "id": "Module.layer3.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "3.904869", + "Min": "-3.915274", + "Mean": "0.000739", + "Norm": "175.362854", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "0.0", + "Mean": "0.397107", + "Norm": "143.5979", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.820035", + "Min": "-4.248729", + "Mean": "3.725290e-09", + "Norm": "202.38385", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "3.904869", + "Min": "-3.915274", + "Mean": "0.000739", + "Norm": "175.362854", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.relu.ReLU.forward.1": { + "id": "Module.layer3.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.BasicBlock.forward.0": { + "id": "Module.layer4.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.Sequential.forward.0", + "subnodes": [ + "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.conv1.Conv2d.forward.0": { + "id": "Module.layer4.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.17719", + "Min": "-5.021754", + "Mean": "-0.003242", + "Norm": "160.062332", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.Sequential.forward.0": { + "id": "Module.layer4.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0.81 + } + }, + "Module.layer4.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "-4.494643", + "Mean": "0.0", + "Norm": "143.107346", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "N/A, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.17719", + "Min": "-5.021754", + "Mean": "-0.003242", + "Norm": "160.062332", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.relu.ReLU.forward.0": { + "id": "Module.layer4.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "0.0", + "Mean": "0.396782", + "Norm": "101.735374", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "0.0", + "Mean": "0.396782", + "Norm": "101.735374", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.conv2.Conv2d.forward.0": { + "id": "Module.layer4.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.548945", + "Min": "-2.623174", + "Mean": "-0.024468", + "Norm": "96.85141", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "0.0", + "Mean": "0.396782", + "Norm": "101.735374", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.43048", + "Min": "-3.390204", + "Mean": "-5.587936e-10", + "Norm": "143.106155", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.548945", + "Min": "-2.623174", + "Mean": "-0.024468", + "Norm": "96.85141", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.downsample.Sequential.forward.0": { + "id": "Module.layer4.0.downsample.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.162686", + "Min": "-4.141354", + "Mean": "-1.396984e-09", + "Norm": "143.107498", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.downsample.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [ + "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.downsample.0.Conv2d.forward.0": { + "id": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.0.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "5.574177", + "Min": "-5.778933", + "Mean": "0.001088", + "Norm": "182.966492", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.downsample.0.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": { + "id": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.162686", + "Min": "-4.141354", + "Mean": "-1.396984e-09", + "Norm": "143.107498", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "5.574177", + "Min": "-5.778933", + "Mean": "0.001088", + "Norm": "182.966492", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.relu.ReLU.forward.1": { + "id": "Module.layer4.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.BasicBlock.forward.0": { + "id": "Module.layer4.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.Sequential.forward.0", + "subnodes": [ + "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.conv1.Conv2d.forward.0": { + "id": "Module.layer4.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.864757", + "Min": "-3.787591", + "Mean": "0.002277", + "Norm": "133.55986", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "-3.694792", + "Mean": "1.490116e-09", + "Norm": "143.107239", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.864757", + "Min": "-3.787591", + "Mean": "0.002277", + "Norm": "133.55986", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.relu.ReLU.forward.0": { + "id": "Module.layer4.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "0.0", + "Mean": "0.402127", + "Norm": "101.228134", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "0.0", + "Mean": "0.402127", + "Norm": "101.228134", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.conv2.Conv2d.forward.0": { + "id": "Module.layer4.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.484763", + "Min": "-2.720093", + "Mean": "0.013722", + "Norm": "95.469269", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "0.0", + "Mean": "0.402127", + "Norm": "101.228134", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.644991", + "Min": "-3.459976", + "Mean": "-4.656613e-10", + "Norm": "143.106094", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.484763", + "Min": "-2.720093", + "Mean": "0.013722", + "Norm": "95.469269", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.relu.ReLU.forward.1": { + "id": "Module.layer4.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "id": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "node_type": 0, + "output_data": { + "Module.avgpool.AdaptiveAvgPool2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 1, 1]", + "Max": "2.68325", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "66.964317", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.avgpool.AdaptiveAvgPool2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, 由于Min小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 278, in _forward_impl, \n x = self.avgpool(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": { + "precision_index": 0.81 + } + }, + "Module.fc.Linear.forward.0": { + "id": "Module.fc.Linear.forward.0", + "node_type": 0, + "output_data": { + "Module.fc.Linear.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 10]", + "Max": "1.236255", + "Min": "-1.562365", + "Mean": "-0.12689", + "Norm": "5.357258", + "data_name": "-1" + } + }, + "input_data": { + "Module.fc.Linear.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512]", + "Max": "2.68325", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "66.964317", + "data_name": "-1" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 280, in _forward_impl, \n x = self.fc(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.fc.Linear.backward.0": { + "id": "Module.fc.Linear.backward.0", + "node_type": 0, + "output_data": { + "Module.fc.Linear.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512]", + "Max": "0.006356", + "Min": "-0.00662", + "Mean": "0.000117", + "Norm": "0.176545", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.fc.Linear.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 10]", + "Max": "0.03222", + "Min": "-0.097696", + "Mean": "1.490116e-10", + "Norm": "0.311353", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "id": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "node_type": 0, + "output_data": { + "Module.avgpool.AdaptiveAvgPool2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.avgpool.AdaptiveAvgPool2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 1, 1]", + "Max": "0.006356", + "Min": "-0.00662", + "Mean": "0.000117", + "Norm": "0.176545", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0.81 + } + }, + "Module.layer4.1.BasicBlock.backward.0": { + "id": "Module.layer4.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "2.016556e-05", + "Norm": "0.112632", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.Sequential.backward.0", + "subnodes": [ + "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.relu.ReLU.backward.0": { + "id": "Module.layer4.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.170244e-05", + "Norm": "0.071178", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.Sequential.backward.0": { + "id": "Module.layer4.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00349", + "Min": "-0.003203", + "Mean": "-1.818989e-13", + "Norm": "0.114767", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.170244e-05", + "Norm": "0.071178", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.conv2.Conv2d.backward.0": { + "id": "Module.layer4.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003047", + "Min": "-0.003687", + "Mean": "5.127279e-08", + "Norm": "0.107756", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00349", + "Min": "-0.003203", + "Mean": "-1.818989e-13", + "Norm": "0.114767", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.relu.ReLU.backward.1": { + "id": "Module.layer4.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003023", + "Min": "-0.002646", + "Mean": "9.799842e-08", + "Norm": "0.075418", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003047", + "Min": "-0.003687", + "Mean": "5.127279e-08", + "Norm": "0.107756", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00392", + "Min": "-0.00384", + "Mean": "2.160050e-13", + "Norm": "0.093361", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003023", + "Min": "-0.002646", + "Mean": "9.799842e-08", + "Norm": "0.075418", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.1.conv1.Conv2d.backward.0": { + "id": "Module.layer4.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.002777", + "Min": "-0.002687", + "Mean": "-1.536876e-06", + "Norm": "0.087284", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00392", + "Min": "-0.00384", + "Mean": "2.160050e-13", + "Norm": "0.093361", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.BasicBlock.backward.0": { + "id": "Module.layer4.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "2.016556e-05", + "Norm": "0.112632", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.Sequential.backward.0", + "subnodes": [ + "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.relu.ReLU.backward.0": { + "id": "Module.layer4.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "2.016556e-05", + "Norm": "0.112632", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.downsample.Sequential.backward.0": { + "id": "Module.layer4.0.downsample.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004114", + "Min": "-0.003346", + "Mean": "-4.547474e-14", + "Norm": "0.087317", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.downsample.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [ + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": { + "id": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004101", + "Min": "-0.003454", + "Mean": "-3.637979e-13", + "Norm": "0.087384", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.downsample.0.Conv2d.backward.0": { + "id": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.0.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004114", + "Min": "-0.003346", + "Mean": "-4.547474e-14", + "Norm": "0.087317", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.downsample.0.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004101", + "Min": "-0.003454", + "Mean": "-3.637979e-13", + "Norm": "0.087384", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.006026", + "Min": "-0.006504", + "Mean": "7.275958e-13", + "Norm": "0.138286", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.conv2.Conv2d.backward.0": { + "id": "Module.layer4.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "2.937198e-06", + "Norm": "0.130315", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.006026", + "Min": "-0.006504", + "Mean": "7.275958e-13", + "Norm": "0.138286", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.relu.ReLU.backward.1": { + "id": "Module.layer4.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "-8.934543e-07", + "Norm": "0.092057", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "2.937198e-06", + "Norm": "0.130315", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004244", + "Min": "-0.004086", + "Mean": "-4.547474e-13", + "Norm": "0.106542", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "-8.934543e-07", + "Norm": "0.092057", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer4.0.conv1.Conv2d.backward.0": { + "id": "Module.layer4.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.002732", + "Min": "-0.002337", + "Mean": "1.283062e-07", + "Norm": "0.088477", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer4.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004244", + "Min": "-0.004086", + "Mean": "-4.547474e-13", + "Norm": "0.106542", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.BasicBlock.backward.0": { + "id": "Module.layer3.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "2.575660e-07", + "Norm": "0.166487", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.Sequential.backward.0", + "subnodes": [ + "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.relu.ReLU.backward.0": { + "id": "Module.layer3.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "5.267739e-07", + "Norm": "0.100327", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.Sequential.backward.0": { + "id": "Module.layer3.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005349", + "Min": "-0.00458", + "Mean": "5.456968e-13", + "Norm": "0.134192", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "5.267739e-07", + "Norm": "0.100327", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.conv2.Conv2d.backward.0": { + "id": "Module.layer3.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004227", + "Min": "-0.003777", + "Mean": "-1.105049e-06", + "Norm": "0.161834", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005349", + "Min": "-0.00458", + "Mean": "5.456968e-13", + "Norm": "0.134192", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.relu.ReLU.backward.1": { + "id": "Module.layer3.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.003753", + "Min": "-0.003777", + "Mean": "-1.121872e-07", + "Norm": "0.113553", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004227", + "Min": "-0.003777", + "Mean": "-1.105049e-06", + "Norm": "0.161834", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004302", + "Min": "-0.003597", + "Mean": "4.547474e-14", + "Norm": "0.108404", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.003753", + "Min": "-0.003777", + "Mean": "-1.121872e-07", + "Norm": "0.113553", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.1.conv1.Conv2d.backward.0": { + "id": "Module.layer3.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.003036", + "Min": "-0.002772", + "Mean": "-2.692081e-07", + "Norm": "0.133319", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004302", + "Min": "-0.003597", + "Mean": "4.547474e-14", + "Norm": "0.108404", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.BasicBlock.backward.0": { + "id": "Module.layer3.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "2.575660e-07", + "Norm": "0.166487", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.Sequential.backward.0", + "subnodes": [ + "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.relu.ReLU.backward.0": { + "id": "Module.layer3.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "2.575660e-07", + "Norm": "0.166487", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.downsample.Sequential.backward.0": { + "id": "Module.layer3.0.downsample.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004002", + "Min": "-0.004525", + "Mean": "3.410605e-13", + "Norm": "0.1262", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.downsample.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [ + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": { + "id": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004036", + "Min": "-0.005194", + "Mean": "0.0", + "Norm": "0.126903", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "N/A, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.downsample.0.Conv2d.backward.0": { + "id": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.0.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004002", + "Min": "-0.004525", + "Mean": "3.410605e-13", + "Norm": "0.1262", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.downsample.0.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004036", + "Min": "-0.005194", + "Mean": "0.0", + "Norm": "0.126903", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "N/A, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.006225", + "Min": "-0.005798", + "Mean": "-3.637979e-13", + "Norm": "0.166553", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.conv2.Conv2d.backward.0": { + "id": "Module.layer3.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-6.200127e-07", + "Norm": "0.20419", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.006225", + "Min": "-0.005798", + "Mean": "-3.637979e-13", + "Norm": "0.166553", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.relu.ReLU.backward.1": { + "id": "Module.layer3.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-5.361890e-07", + "Norm": "0.144125", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-6.200127e-07", + "Norm": "0.20419", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005433", + "Min": "-0.005011", + "Mean": "0.0", + "Norm": "0.150797", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "N/A, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-5.361890e-07", + "Norm": "0.144125", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer3.0.conv1.Conv2d.backward.0": { + "id": "Module.layer3.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.003242", + "Min": "-0.002676", + "Mean": "1.208646e-08", + "Norm": "0.139735", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer3.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005433", + "Min": "-0.005011", + "Mean": "0.0", + "Norm": "0.150797", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "N/A, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.BasicBlock.backward.0": { + "id": "Module.layer2.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "1.788464e-06", + "Norm": "0.2636", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.Sequential.backward.0", + "subnodes": [ + "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.relu.ReLU.backward.0": { + "id": "Module.layer2.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "6.662881e-07", + "Norm": "0.152697", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.Sequential.backward.0": { + "id": "Module.layer2.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005537", + "Min": "-0.006419", + "Mean": "4.547474e-14", + "Norm": "0.192183", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "6.662881e-07", + "Norm": "0.152697", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.conv2.Conv2d.backward.0": { + "id": "Module.layer2.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004991", + "Mean": "6.954823e-07", + "Norm": "0.250644", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005537", + "Min": "-0.006419", + "Mean": "4.547474e-14", + "Norm": "0.192183", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.relu.ReLU.backward.1": { + "id": "Module.layer2.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004159", + "Mean": "2.355963e-06", + "Norm": "0.177588", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004991", + "Mean": "6.954823e-07", + "Norm": "0.250644", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004246", + "Min": "-0.003801", + "Mean": "3.865353e-13", + "Norm": "0.159253", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004159", + "Mean": "2.355963e-06", + "Norm": "0.177588", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.1.conv1.Conv2d.backward.0": { + "id": "Module.layer2.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.003947", + "Min": "-0.00409", + "Mean": "1.122175e-06", + "Norm": "0.213347", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004246", + "Min": "-0.003801", + "Mean": "3.865353e-13", + "Norm": "0.159253", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.BasicBlock.backward.0": { + "id": "Module.layer2.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "1.788464e-06", + "Norm": "0.2636", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.Sequential.backward.0", + "subnodes": [ + "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.relu.ReLU.backward.0": { + "id": "Module.layer2.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "1.788464e-06", + "Norm": "0.2636", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.downsample.Sequential.backward.0": { + "id": "Module.layer2.0.downsample.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004066", + "Min": "-0.004851", + "Mean": "4.547474e-14", + "Norm": "0.148232", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.downsample.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [ + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": { + "id": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004749", + "Min": "-0.004585", + "Mean": "-2.728484e-13", + "Norm": "0.14894", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.downsample.0.Conv2d.backward.0": { + "id": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.0.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004066", + "Min": "-0.004851", + "Mean": "4.547474e-14", + "Norm": "0.148232", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.downsample.0.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004749", + "Min": "-0.004585", + "Mean": "-2.728484e-13", + "Norm": "0.14894", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00708", + "Min": "-0.008085", + "Mean": "-5.456968e-13", + "Norm": "0.246197", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.conv2.Conv2d.backward.0": { + "id": "Module.layer2.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005883", + "Min": "-0.005688", + "Mean": "7.895345e-07", + "Norm": "0.328498", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00708", + "Min": "-0.008085", + "Mean": "-5.456968e-13", + "Norm": "0.246197", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.relu.ReLU.backward.1": { + "id": "Module.layer2.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005686", + "Min": "-0.005685", + "Mean": "1.743164e-06", + "Norm": "0.232839", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005883", + "Min": "-0.005688", + "Mean": "7.895345e-07", + "Norm": "0.328498", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004441", + "Min": "-0.004493", + "Mean": "-3.637979e-13", + "Norm": "0.176547", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005686", + "Min": "-0.005685", + "Mean": "1.743164e-06", + "Norm": "0.232839", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer2.0.conv1.Conv2d.backward.0": { + "id": "Module.layer2.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.002586", + "Min": "-0.002816", + "Mean": "-2.737123e-07", + "Norm": "0.171941", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004441", + "Min": "-0.004493", + "Mean": "-3.637979e-13", + "Norm": "0.176547", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.BasicBlock.backward.0": { + "id": "Module.layer1.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "9.928035e-08", + "Norm": "0.311783", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.Sequential.backward.0", + "subnodes": [ + "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.relu.ReLU.backward.0": { + "id": "Module.layer1.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "1.113839e-07", + "Norm": "0.209072", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.Sequential.backward.0": { + "id": "Module.layer1.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00901", + "Min": "-0.009858", + "Mean": "6.431268e-07", + "Norm": "0.614371", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004873", + "Min": "-0.006985", + "Mean": "6.366463e-13", + "Norm": "0.263476", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "1.113839e-07", + "Norm": "0.209072", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.conv2.Conv2d.backward.0": { + "id": "Module.layer1.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.005144", + "Mean": "5.896727e-08", + "Norm": "0.36269", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004873", + "Min": "-0.006985", + "Mean": "6.366463e-13", + "Norm": "0.263476", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.relu.ReLU.backward.1": { + "id": "Module.layer1.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.004949", + "Mean": "-2.247479e-07", + "Norm": "0.255762", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.005144", + "Mean": "5.896727e-08", + "Norm": "0.36269", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00343", + "Min": "-0.003328", + "Mean": "1.818989e-13", + "Norm": "0.165887", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.004949", + "Mean": "-2.247479e-07", + "Norm": "0.255762", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.1.conv1.Conv2d.backward.0": { + "id": "Module.layer1.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003166", + "Min": "-0.003639", + "Mean": "-1.210342e-08", + "Norm": "0.229291", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00343", + "Min": "-0.003328", + "Mean": "1.818989e-13", + "Norm": "0.165887", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.BasicBlock.backward.0": { + "id": "Module.layer1.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00901", + "Min": "-0.009858", + "Mean": "6.431268e-07", + "Norm": "0.614371", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "9.928035e-08", + "Norm": "0.311783", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.Sequential.backward.0", + "subnodes": [ + "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.relu.ReLU.backward.0": { + "id": "Module.layer1.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "3.088644e-07", + "Norm": "0.299243", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "9.928035e-08", + "Norm": "0.311783", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007243", + "Min": "-0.006519", + "Mean": "-7.275958e-13", + "Norm": "0.389929", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "3.088644e-07", + "Norm": "0.299243", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.conv2.Conv2d.backward.0": { + "id": "Module.layer1.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "-5.936339e-07", + "Norm": "0.54013", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007243", + "Min": "-0.006519", + "Mean": "-7.275958e-13", + "Norm": "0.389929", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.relu.ReLU.backward.1": { + "id": "Module.layer1.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "2.777797e-07", + "Norm": "0.379333", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "-5.936339e-07", + "Norm": "0.54013", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.009111", + "Min": "-0.009193", + "Mean": "-7.275958e-13", + "Norm": "0.387683", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "2.777797e-07", + "Norm": "0.379333", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.layer1.0.conv1.Conv2d.backward.0": { + "id": "Module.layer1.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007328", + "Min": "-0.008206", + "Mean": "3.342619e-07", + "Norm": "0.538403", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer1.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.009111", + "Min": "-0.009193", + "Mean": "-7.275958e-13", + "Norm": "0.387683", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": { + "precision_index": 0 + } + }, + "Module.maxpool.MaxPool2d.backward.0": { + "id": "Module.maxpool.MaxPool2d.backward.0", + "node_type": 0, + "output_data": { + "Module.maxpool.MaxPool2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.607818e-07", + "Norm": "0.615501", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.maxpool.MaxPool2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00901", + "Min": "-0.009858", + "Mean": "6.431268e-07", + "Norm": "0.614371", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.relu.ReLU.backward.0": { + "id": "Module.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.113458e-07", + "Norm": "0.614639", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.607818e-07", + "Norm": "0.615501", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.bn1.BatchNorm2d.backward.0": { + "id": "Module.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.049808", + "Min": "-0.064687", + "Mean": "1.364242e-12", + "Norm": "2.04307", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.113458e-07", + "Norm": "0.614639", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + }, + "Module.conv1.Conv2d.backward.0": { + "id": "Module.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.conv1.Conv2d.backward.0.output.0": { + "value": "null" + } + }, + "input_data": { + "Module.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.049808", + "Min": "-0.064687", + "Mean": "1.364242e-12", + "Norm": "2.04307", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "0.0%", + "MeanRelativeErr": "0.0%, 由于Mean小于1e-06, 建议不参考此相对误差,请参考绝对误差", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": { + "precision_index": 0 + } + } + } + }, + "Bench": { + "root": "DefaultModel", + "dump_data_dir": null, + "node": { + "DefaultModel": { + "id": "DefaultModel", + "node_type": 0, + "output_data": {}, + "input_data": {}, + "upnode": "None", + "subnodes": [ + "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.Sequential.forward.0", + "Module.layer2.Sequential.forward.0", + "Module.layer3.Sequential.forward.0", + "Module.layer4.Sequential.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.fc.Linear.forward.0", + "Module.fc.Linear.backward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.Sequential.backward.0", + "Module.layer3.Sequential.backward.0", + "Module.layer2.Sequential.backward.0", + "Module.layer1.Sequential.backward.0", + "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.conv1.Conv2d.forward.0": { + "id": "Module.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "1.526799", + "Min": "-1.559762", + "Mean": "-0.000263", + "Norm": "244.860931", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 3, 64, 64]", + "Max": "4.350435", + "Min": "-4.339223", + "Mean": "-0.001572", + "Norm": "350.247772", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 268, in _forward_impl, \n x = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.bn1.BatchNorm2d.forward.0": { + "id": "Module.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "-5.146786", + "Mean": "4.656613e-11", + "Norm": "809.493835", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "1.526799", + "Min": "-1.559762", + "Mean": "-0.000263", + "Norm": "244.860931", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 269, in _forward_impl, \n x = self.bn1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.relu.ReLU.forward.0": { + "id": "Module.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "0.397851", + "Norm": "572.419128", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "0.397851", + "Norm": "572.419128", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 270, in _forward_impl, \n x = self.relu(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.maxpool.MaxPool2d.forward.0": { + "id": "Module.maxpool.MaxPool2d.forward.0", + "node_type": 0, + "output_data": { + "Module.maxpool.MaxPool2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.maxpool.MaxPool2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "0.397851", + "Norm": "572.419128", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 271, in _forward_impl, \n x = self.maxpool(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.layer1.0.BasicBlock.forward.0": { + "id": "Module.layer1.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.Sequential.forward.0", + "subnodes": [ + "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.0.conv1.Conv2d.forward.0": { + "id": "Module.layer1.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.74388", + "Min": "-7.379547", + "Mean": "-0.12333", + "Norm": "858.103699", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.Sequential.forward.0": { + "id": "Module.layer1.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.673826", + "Min": "0.0", + "Mean": "1.460092", + "Norm": "641.917297", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.layer1.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "-4.199296", + "Mean": "1.620501e-08", + "Norm": "404.769043", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.74388", + "Min": "-7.379547", + "Mean": "-0.12333", + "Norm": "858.103699", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.0.relu.ReLU.forward.0": { + "id": "Module.layer1.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "0.0", + "Mean": "0.39636", + "Norm": "286.644501", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "0.0", + "Mean": "0.39636", + "Norm": "286.644501", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.0.conv2.Conv2d.forward.0": { + "id": "Module.layer1.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.442179", + "Min": "-3.972987", + "Mean": "0.084329", + "Norm": "370.438843", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.247875", + "Min": "0.0", + "Mean": "0.39636", + "Norm": "286.644501", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.605992", + "Min": "-4.646146", + "Mean": "4.284084e-09", + "Norm": "404.767944", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.442179", + "Min": "-3.972987", + "Mean": "0.084329", + "Norm": "370.438843", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.0.relu.ReLU.forward.1": { + "id": "Module.layer1.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.BasicBlock.forward.0": { + "id": "Module.layer1.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.Sequential.forward.0", + "subnodes": [ + "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.conv1.Conv2d.forward.0": { + "id": "Module.layer1.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "9.274334", + "Min": "-10.156013", + "Mean": "-0.101834", + "Norm": "975.393066", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "7.29416", + "Min": "0.0", + "Mean": "1.517842", + "Norm": "753.920776", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "-4.49145", + "Mean": "-2.235174e-09", + "Norm": "404.770447", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "9.274334", + "Min": "-10.156013", + "Mean": "-0.101834", + "Norm": "975.393066", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.relu.ReLU.forward.0": { + "id": "Module.layer1.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "0.0", + "Mean": "0.399545", + "Norm": "286.493317", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "0.0", + "Mean": "0.399545", + "Norm": "286.493317", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.conv2.Conv2d.forward.0": { + "id": "Module.layer1.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.431858", + "Min": "-4.229196", + "Mean": "0.005514", + "Norm": "375.989105", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.2462", + "Min": "0.0", + "Mean": "0.399545", + "Norm": "286.493317", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.475619", + "Min": "-4.364196", + "Mean": "1.396984e-09", + "Norm": "404.76828", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "4.431858", + "Min": "-4.229196", + "Mean": "0.005514", + "Norm": "375.989105", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer1.1.relu.ReLU.forward.1": { + "id": "Module.layer1.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 273, in _forward_impl, \n x = self.layer1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.BasicBlock.forward.0": { + "id": "Module.layer2.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.Sequential.forward.0", + "subnodes": [ + "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.conv1.Conv2d.forward.0": { + "id": "Module.layer2.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.363841", + "Min": "-8.813498", + "Mean": "0.116351", + "Norm": "582.720398", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.Sequential.forward.0": { + "id": "Module.layer2.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.layer2.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "-4.77158", + "Mean": "1.303852e-09", + "Norm": "286.215912", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.363841", + "Min": "-8.813498", + "Mean": "0.116351", + "Norm": "582.720398", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.relu.ReLU.forward.0": { + "id": "Module.layer2.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "0.0", + "Mean": "0.400609", + "Norm": "202.299973", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "0.0", + "Mean": "0.400609", + "Norm": "202.299973", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.conv2.Conv2d.forward.0": { + "id": "Module.layer2.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.0345", + "Min": "-4.125886", + "Mean": "-0.100337", + "Norm": "260.142944", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.469386", + "Min": "0.0", + "Mean": "0.400609", + "Norm": "202.299973", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.152795", + "Min": "-4.936253", + "Mean": "3.725290e-10", + "Norm": "286.214294", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.0345", + "Min": "-4.125886", + "Mean": "-0.100337", + "Norm": "260.142944", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.downsample.Sequential.forward.0": { + "id": "Module.layer2.0.downsample.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.257706", + "Min": "-4.515994", + "Mean": "-1.117587e-09", + "Norm": "286.215851", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.downsample.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [ + "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.downsample.0.Conv2d.forward.0": { + "id": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.0.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.203266", + "Min": "-9.355068", + "Mean": "-0.02311", + "Norm": "617.127319", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.downsample.0.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "8.480864", + "Min": "0.0", + "Mean": "1.621092", + "Norm": "845.908813", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": { + "id": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.257706", + "Min": "-4.515994", + "Mean": "-1.117587e-09", + "Norm": "286.215851", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "9.203266", + "Min": "-9.355068", + "Mean": "-0.02311", + "Norm": "617.127319", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.0.relu.ReLU.forward.1": { + "id": "Module.layer2.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.BasicBlock.forward.0": { + "id": "Module.layer2.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.Sequential.forward.0", + "subnodes": [ + "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.conv1.Conv2d.forward.0": { + "id": "Module.layer2.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.62359", + "Min": "-5.580112", + "Mean": "0.074416", + "Norm": "367.649841", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "-4.101557", + "Mean": "-3.818422e-09", + "Norm": "286.215485", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.62359", + "Min": "-5.580112", + "Mean": "0.074416", + "Norm": "367.649841", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.relu.ReLU.forward.0": { + "id": "Module.layer2.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "0.0", + "Mean": "0.397453", + "Norm": "202.738693", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "0.0", + "Mean": "0.397453", + "Norm": "202.738693", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.conv2.Conv2d.forward.0": { + "id": "Module.layer2.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.393562", + "Min": "-4.753343", + "Mean": "-0.078746", + "Norm": "260.969421", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.51583", + "Min": "0.0", + "Mean": "0.397453", + "Norm": "202.738693", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.73594", + "Min": "-4.475933", + "Mean": "2.421439e-09", + "Norm": "286.214294", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "4.393562", + "Min": "-4.753343", + "Mean": "-0.078746", + "Norm": "260.969421", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer2.1.relu.ReLU.forward.1": { + "id": "Module.layer2.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.BasicBlock.forward.0": { + "id": "Module.layer3.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.Sequential.forward.0", + "subnodes": [ + "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.conv1.Conv2d.forward.0": { + "id": "Module.layer3.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.532973", + "Min": "-6.165116", + "Mean": "0.023511", + "Norm": "250.68428", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.Sequential.forward.0": { + "id": "Module.layer3.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.layer3.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "-4.041963", + "Mean": "1.024455e-09", + "Norm": "202.384674", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.532973", + "Min": "-6.165116", + "Mean": "0.023511", + "Norm": "250.68428", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.relu.ReLU.forward.0": { + "id": "Module.layer3.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "0.0", + "Mean": "0.397493", + "Norm": "142.493881", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "0.0", + "Mean": "0.397493", + "Norm": "142.493881", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.conv2.Conv2d.forward.0": { + "id": "Module.layer3.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.085584", + "Min": "-3.535729", + "Mean": "0.009184", + "Norm": "171.884354", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.015517", + "Min": "0.0", + "Mean": "0.397493", + "Norm": "142.493881", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.328585", + "Min": "-4.24462", + "Mean": "-5.587936e-10", + "Norm": "202.383789", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.085584", + "Min": "-3.535729", + "Mean": "0.009184", + "Norm": "171.884354", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.downsample.Sequential.forward.0": { + "id": "Module.layer3.0.downsample.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.673633", + "Min": "-4.118578", + "Mean": "2.980232e-09", + "Norm": "202.384674", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.downsample.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [ + "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.downsample.0.Conv2d.forward.0": { + "id": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.0.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.544863", + "Min": "-5.637341", + "Mean": "0.063504", + "Norm": "262.41275", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.downsample.0.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": { + "id": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.673633", + "Min": "-4.118578", + "Mean": "2.980232e-09", + "Norm": "202.384674", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "5.544863", + "Min": "-5.637341", + "Mean": "0.063504", + "Norm": "262.41275", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.0.relu.ReLU.forward.1": { + "id": "Module.layer3.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.BasicBlock.forward.0": { + "id": "Module.layer3.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.Sequential.forward.0", + "subnodes": [ + "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.conv1.Conv2d.forward.0": { + "id": "Module.layer3.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.445492", + "Min": "-5.73983", + "Mean": "0.056189", + "Norm": "242.794586", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.011552", + "Min": "0.0", + "Mean": "0.558552", + "Norm": "202.094818", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "-4.302232", + "Mean": "6.053597e-10", + "Norm": "202.384811", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "6.445492", + "Min": "-5.73983", + "Mean": "0.056189", + "Norm": "242.794586", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.relu.ReLU.forward.0": { + "id": "Module.layer3.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "0.0", + "Mean": "0.397107", + "Norm": "143.5979", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "0.0", + "Mean": "0.397107", + "Norm": "143.5979", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.conv2.Conv2d.forward.0": { + "id": "Module.layer3.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "3.904869", + "Min": "-3.915274", + "Mean": "0.000739", + "Norm": "175.362854", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.64597", + "Min": "0.0", + "Mean": "0.397107", + "Norm": "143.5979", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "4.820035", + "Min": "-4.248729", + "Mean": "3.725290e-09", + "Norm": "202.38385", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "3.904869", + "Min": "-3.915274", + "Mean": "0.000739", + "Norm": "175.362854", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer3.1.relu.ReLU.forward.1": { + "id": "Module.layer3.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0", + "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 275, in _forward_impl, \n x = self.layer3(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.BasicBlock.forward.0": { + "id": "Module.layer4.0.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.Sequential.forward.0", + "subnodes": [ + "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.conv1.Conv2d.forward.0": { + "id": "Module.layer4.0.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.17719", + "Min": "-5.021754", + "Mean": "-0.003242", + "Norm": "160.062332", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.Sequential.forward.0": { + "id": "Module.layer4.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.1.BasicBlock.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.layer4.0.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "-4.494643", + "Mean": "0.0", + "Norm": "143.107346", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.17719", + "Min": "-5.021754", + "Mean": "-0.003242", + "Norm": "160.062332", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.relu.ReLU.forward.0": { + "id": "Module.layer4.0.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "0.0", + "Mean": "0.396782", + "Norm": "101.735374", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "0.0", + "Mean": "0.396782", + "Norm": "101.735374", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.conv2.Conv2d.forward.0": { + "id": "Module.layer4.0.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.548945", + "Min": "-2.623174", + "Mean": "-0.024468", + "Norm": "96.85141", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.531161", + "Min": "0.0", + "Mean": "0.396782", + "Norm": "101.735374", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.43048", + "Min": "-3.390204", + "Mean": "-5.587936e-10", + "Norm": "143.106155", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.548945", + "Min": "-2.623174", + "Mean": "-0.024468", + "Norm": "96.85141", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.downsample.Sequential.forward.0": { + "id": "Module.layer4.0.downsample.Sequential.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.Sequential.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.162686", + "Min": "-4.141354", + "Mean": "-1.396984e-09", + "Norm": "143.107498", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.downsample.Sequential.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [ + "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.downsample.0.Conv2d.forward.0": { + "id": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.0.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "5.574177", + "Min": "-5.778933", + "Mean": "0.001088", + "Norm": "182.966492", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.downsample.0.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "7.355758", + "Min": "0.0", + "Mean": "0.81968", + "Norm": "262.51239", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": { + "id": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "4.162686", + "Min": "-4.141354", + "Mean": "-1.396984e-09", + "Norm": "143.107498", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "5.574177", + "Min": "-5.778933", + "Mean": "0.001088", + "Norm": "182.966492", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 100, in forward, \n identity = self.downsample(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.0.relu.ReLU.forward.1": { + "id": "Module.layer4.0.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.BasicBlock.forward.0": { + "id": "Module.layer4.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.Sequential.forward.0", + "subnodes": [ + "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.conv1.Conv2d.forward.0": { + "id": "Module.layer4.1.conv1.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv1.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.864757", + "Min": "-3.787591", + "Mean": "0.002277", + "Norm": "133.55986", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.conv1.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.219019", + "Min": "0.0", + "Mean": "0.561198", + "Norm": "141.888809", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 92, in forward, \n out = self.conv1(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.bn1.BatchNorm2d.forward.0": { + "id": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn1.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "-3.694792", + "Mean": "1.490116e-09", + "Norm": "143.107239", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.bn1.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.864757", + "Min": "-3.787591", + "Mean": "0.002277", + "Norm": "133.55986", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 93, in forward, \n out = self.bn1(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.relu.ReLU.forward.0": { + "id": "Module.layer4.1.relu.ReLU.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "0.0", + "Mean": "0.402127", + "Norm": "101.228134", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "0.0", + "Mean": "0.402127", + "Norm": "101.228134", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.relu.ReLU.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 94, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.conv2.Conv2d.forward.0": { + "id": "Module.layer4.1.conv2.Conv2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv2.Conv2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.484763", + "Min": "-2.720093", + "Mean": "0.013722", + "Norm": "95.469269", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.conv2.Conv2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.722916", + "Min": "0.0", + "Mean": "0.402127", + "Norm": "101.228134", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 96, in forward, \n out = self.conv2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.bn2.BatchNorm2d.forward.0": { + "id": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn2.BatchNorm2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "3.644991", + "Min": "-3.459976", + "Mean": "-4.656613e-10", + "Norm": "143.106094", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.bn2.BatchNorm2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "2.484763", + "Min": "-2.720093", + "Mean": "0.013722", + "Norm": "95.469269", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 97, in forward, \n out = self.bn2(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.layer4.1.relu.ReLU.forward.1": { + "id": "Module.layer4.1.relu.ReLU.forward.1", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.forward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.forward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.forward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0", + "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.relu.ReLU.forward.1" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 103, in forward, \n out = self.relu(out)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 276, in _forward_impl, \n x = self.layer4(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "id": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "node_type": 0, + "output_data": { + "Module.avgpool.AdaptiveAvgPool2d.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 1, 1]", + "Max": "2.68325", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "66.964317", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.avgpool.AdaptiveAvgPool2d.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "6.209611", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "184.159729", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 278, in _forward_impl, \n x = self.avgpool(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.fc.Linear.forward.0": { + "id": "Module.fc.Linear.forward.0", + "node_type": 0, + "output_data": { + "Module.fc.Linear.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 10]", + "Max": "1.236255", + "Min": "-1.562365", + "Mean": "-0.12689", + "Norm": "5.357258", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.fc.Linear.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512]", + "Max": "2.68325", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "66.964317", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 280, in _forward_impl, \n x = self.fc(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "Module.fc.Linear.backward.0": { + "id": "Module.fc.Linear.backward.0", + "node_type": 0, + "output_data": { + "Module.fc.Linear.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512]", + "Max": "0.006356", + "Min": "-0.00662", + "Mean": "0.000117", + "Norm": "0.176545", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.fc.Linear.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 10]", + "Max": "0.03222", + "Min": "-0.097696", + "Mean": "1.490116e-10", + "Norm": "0.311353", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "id": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "node_type": 0, + "output_data": { + "Module.avgpool.AdaptiveAvgPool2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.avgpool.AdaptiveAvgPool2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 1, 1]", + "Max": "0.006356", + "Min": "-0.00662", + "Mean": "0.000117", + "Norm": "0.176545", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.layer4.1.BasicBlock.backward.0": { + "id": "Module.layer4.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "2.016556e-05", + "Norm": "0.112632", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.Sequential.backward.0", + "subnodes": [ + "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.1.relu.ReLU.backward.0": { + "id": "Module.layer4.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.170244e-05", + "Norm": "0.071178", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.Sequential.backward.0": { + "id": "Module.layer4.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.922326e-05", + "Norm": "0.088272", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.layer4.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00349", + "Min": "-0.003203", + "Mean": "-1.818989e-13", + "Norm": "0.114767", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.001589", + "Min": "-0.001655", + "Mean": "2.170244e-05", + "Norm": "0.071178", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.1.conv2.Conv2d.backward.0": { + "id": "Module.layer4.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003047", + "Min": "-0.003687", + "Mean": "5.127279e-08", + "Norm": "0.107756", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00349", + "Min": "-0.003203", + "Mean": "-1.818989e-13", + "Norm": "0.114767", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.1.relu.ReLU.backward.1": { + "id": "Module.layer4.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer4.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003023", + "Min": "-0.002646", + "Mean": "9.799842e-08", + "Norm": "0.075418", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003047", + "Min": "-0.003687", + "Mean": "5.127279e-08", + "Norm": "0.107756", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00392", + "Min": "-0.00384", + "Mean": "2.160050e-13", + "Norm": "0.093361", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003023", + "Min": "-0.002646", + "Mean": "9.799842e-08", + "Norm": "0.075418", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.1.conv1.Conv2d.backward.0": { + "id": "Module.layer4.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.002777", + "Min": "-0.002687", + "Mean": "-1.536876e-06", + "Norm": "0.087284", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00392", + "Min": "-0.00384", + "Mean": "2.160050e-13", + "Norm": "0.093361", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.BasicBlock.backward.0": { + "id": "Module.layer4.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "2.016556e-05", + "Norm": "0.112632", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.Sequential.backward.0", + "subnodes": [ + "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.relu.ReLU.backward.0": { + "id": "Module.layer4.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "2.016556e-05", + "Norm": "0.112632", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.downsample.Sequential.backward.0": { + "id": "Module.layer4.0.downsample.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004114", + "Min": "-0.003346", + "Mean": "-4.547474e-14", + "Norm": "0.087317", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.downsample.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [ + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": { + "id": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004101", + "Min": "-0.003454", + "Mean": "-3.637979e-13", + "Norm": "0.087384", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.downsample.0.Conv2d.backward.0": { + "id": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.downsample.0.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004114", + "Min": "-0.003346", + "Mean": "-4.547474e-14", + "Norm": "0.087317", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.downsample.0.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004101", + "Min": "-0.003454", + "Mean": "-3.637979e-13", + "Norm": "0.087384", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.006026", + "Min": "-0.006504", + "Mean": "7.275958e-13", + "Norm": "0.138286", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.003044", + "Min": "-0.003159", + "Mean": "1.279740e-05", + "Norm": "0.082885", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.conv2.Conv2d.backward.0": { + "id": "Module.layer4.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "2.937198e-06", + "Norm": "0.130315", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.006026", + "Min": "-0.006504", + "Mean": "7.275958e-13", + "Norm": "0.138286", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.relu.ReLU.backward.1": { + "id": "Module.layer4.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer4.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "-8.934543e-07", + "Norm": "0.092057", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "2.937198e-06", + "Norm": "0.130315", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004244", + "Min": "-0.004086", + "Mean": "-4.547474e-13", + "Norm": "0.106542", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.00354", + "Min": "-0.003561", + "Mean": "-8.934543e-07", + "Norm": "0.092057", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer4.0.conv1.Conv2d.backward.0": { + "id": "Module.layer4.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer4.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.002732", + "Min": "-0.002337", + "Mean": "1.283062e-07", + "Norm": "0.088477", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer4.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512, 2, 2]", + "Max": "0.004244", + "Min": "-0.004086", + "Mean": "-4.547474e-13", + "Norm": "0.106542", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer4.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0", + "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.1.BasicBlock.backward.0": { + "id": "Module.layer3.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "2.575660e-07", + "Norm": "0.166487", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.Sequential.backward.0", + "subnodes": [ + "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.1.relu.ReLU.backward.0": { + "id": "Module.layer3.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "5.267739e-07", + "Norm": "0.100327", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.Sequential.backward.0": { + "id": "Module.layer3.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "1.283064e-07", + "Norm": "0.12491", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.layer3.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005349", + "Min": "-0.00458", + "Mean": "5.456968e-13", + "Norm": "0.134192", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004012", + "Min": "-0.003481", + "Mean": "5.267739e-07", + "Norm": "0.100327", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.1.conv2.Conv2d.backward.0": { + "id": "Module.layer3.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004227", + "Min": "-0.003777", + "Mean": "-1.105049e-06", + "Norm": "0.161834", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005349", + "Min": "-0.00458", + "Mean": "5.456968e-13", + "Norm": "0.134192", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.1.relu.ReLU.backward.1": { + "id": "Module.layer3.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer3.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.003753", + "Min": "-0.003777", + "Mean": "-1.121872e-07", + "Norm": "0.113553", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004227", + "Min": "-0.003777", + "Mean": "-1.105049e-06", + "Norm": "0.161834", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004302", + "Min": "-0.003597", + "Mean": "4.547474e-14", + "Norm": "0.108404", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.003753", + "Min": "-0.003777", + "Mean": "-1.121872e-07", + "Norm": "0.113553", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.1.conv1.Conv2d.backward.0": { + "id": "Module.layer3.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.003036", + "Min": "-0.002772", + "Mean": "-2.692081e-07", + "Norm": "0.133319", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004302", + "Min": "-0.003597", + "Mean": "4.547474e-14", + "Norm": "0.108404", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.BasicBlock.backward.0": { + "id": "Module.layer3.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "2.575660e-07", + "Norm": "0.166487", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.Sequential.backward.0", + "subnodes": [ + "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.relu.ReLU.backward.0": { + "id": "Module.layer3.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "2.575660e-07", + "Norm": "0.166487", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.downsample.Sequential.backward.0": { + "id": "Module.layer3.0.downsample.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004002", + "Min": "-0.004525", + "Mean": "3.410605e-13", + "Norm": "0.1262", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.downsample.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [ + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": { + "id": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004036", + "Min": "-0.005194", + "Mean": "0.0", + "Norm": "0.126903", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.downsample.0.Conv2d.backward.0": { + "id": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.downsample.0.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004002", + "Min": "-0.004525", + "Mean": "3.410605e-13", + "Norm": "0.1262", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.downsample.0.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004036", + "Min": "-0.005194", + "Mean": "0.0", + "Norm": "0.126903", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.006225", + "Min": "-0.005798", + "Mean": "-3.637979e-13", + "Norm": "0.166553", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.004265", + "Min": "-0.004394", + "Mean": "4.540960e-07", + "Norm": "0.122012", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.conv2.Conv2d.backward.0": { + "id": "Module.layer3.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-6.200127e-07", + "Norm": "0.20419", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.006225", + "Min": "-0.005798", + "Mean": "-3.637979e-13", + "Norm": "0.166553", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.relu.ReLU.backward.1": { + "id": "Module.layer3.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer3.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-5.361890e-07", + "Norm": "0.144125", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-6.200127e-07", + "Norm": "0.20419", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005433", + "Min": "-0.005011", + "Mean": "0.0", + "Norm": "0.150797", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005283", + "Min": "-0.005217", + "Mean": "-5.361890e-07", + "Norm": "0.144125", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer3.0.conv1.Conv2d.backward.0": { + "id": "Module.layer3.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer3.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.003242", + "Min": "-0.002676", + "Mean": "1.208646e-08", + "Norm": "0.139735", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer3.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 256, 4, 4]", + "Max": "0.005433", + "Min": "-0.005011", + "Mean": "0.0", + "Norm": "0.150797", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer3.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0", + "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.1.BasicBlock.backward.0": { + "id": "Module.layer2.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "1.788464e-06", + "Norm": "0.2636", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.Sequential.backward.0", + "subnodes": [ + "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.1.relu.ReLU.backward.0": { + "id": "Module.layer2.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "6.662881e-07", + "Norm": "0.152697", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.Sequential.backward.0": { + "id": "Module.layer2.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "1.208646e-08", + "Norm": "0.188543", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.layer2.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005537", + "Min": "-0.006419", + "Mean": "4.547474e-14", + "Norm": "0.192183", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004368", + "Min": "-0.004748", + "Mean": "6.662881e-07", + "Norm": "0.152697", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.1.conv2.Conv2d.backward.0": { + "id": "Module.layer2.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004991", + "Mean": "6.954823e-07", + "Norm": "0.250644", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005537", + "Min": "-0.006419", + "Mean": "4.547474e-14", + "Norm": "0.192183", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.1.relu.ReLU.backward.1": { + "id": "Module.layer2.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer2.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004159", + "Mean": "2.355963e-06", + "Norm": "0.177588", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004991", + "Mean": "6.954823e-07", + "Norm": "0.250644", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004246", + "Min": "-0.003801", + "Mean": "3.865353e-13", + "Norm": "0.159253", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004543", + "Min": "-0.004159", + "Mean": "2.355963e-06", + "Norm": "0.177588", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.1.conv1.Conv2d.backward.0": { + "id": "Module.layer2.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.003947", + "Min": "-0.00409", + "Mean": "1.122175e-06", + "Norm": "0.213347", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004246", + "Min": "-0.003801", + "Mean": "3.865353e-13", + "Norm": "0.159253", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.BasicBlock.backward.0": { + "id": "Module.layer2.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "1.788464e-06", + "Norm": "0.2636", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.Sequential.backward.0", + "subnodes": [ + "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.relu.ReLU.backward.0": { + "id": "Module.layer2.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "1.788464e-06", + "Norm": "0.2636", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.downsample.Sequential.backward.0": { + "id": "Module.layer2.0.downsample.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004066", + "Min": "-0.004851", + "Mean": "4.547474e-14", + "Norm": "0.148232", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.downsample.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [ + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": { + "id": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004749", + "Min": "-0.004585", + "Mean": "-2.728484e-13", + "Norm": "0.14894", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.downsample.0.Conv2d.backward.0": { + "id": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.downsample.0.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004066", + "Min": "-0.004851", + "Mean": "4.547474e-14", + "Norm": "0.148232", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.downsample.0.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004749", + "Min": "-0.004585", + "Mean": "-2.728484e-13", + "Norm": "0.14894", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.downsample.Sequential.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00708", + "Min": "-0.008085", + "Mean": "-5.456968e-13", + "Norm": "0.246197", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00595", + "Min": "-0.006032", + "Mean": "2.777311e-06", + "Norm": "0.192543", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.conv2.Conv2d.backward.0": { + "id": "Module.layer2.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005883", + "Min": "-0.005688", + "Mean": "7.895345e-07", + "Norm": "0.328498", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.00708", + "Min": "-0.008085", + "Mean": "-5.456968e-13", + "Norm": "0.246197", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.relu.ReLU.backward.1": { + "id": "Module.layer2.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer2.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005686", + "Min": "-0.005685", + "Mean": "1.743164e-06", + "Norm": "0.232839", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005883", + "Min": "-0.005688", + "Mean": "7.895345e-07", + "Norm": "0.328498", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004441", + "Min": "-0.004493", + "Mean": "-3.637979e-13", + "Norm": "0.176547", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.005686", + "Min": "-0.005685", + "Mean": "1.743164e-06", + "Norm": "0.232839", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer2.0.conv1.Conv2d.backward.0": { + "id": "Module.layer2.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer2.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.002586", + "Min": "-0.002816", + "Mean": "-2.737123e-07", + "Norm": "0.171941", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "0.004441", + "Min": "-0.004493", + "Mean": "-3.637979e-13", + "Norm": "0.176547", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0", + "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.1.BasicBlock.backward.0": { + "id": "Module.layer1.1.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "9.928035e-08", + "Norm": "0.311783", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.Sequential.backward.0", + "subnodes": [ + "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.1.relu.ReLU.backward.0": { + "id": "Module.layer1.1.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "1.113839e-07", + "Norm": "0.209072", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.Sequential.backward.0": { + "id": "Module.layer1.Sequential.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.Sequential.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00901", + "Min": "-0.009858", + "Mean": "6.431268e-07", + "Norm": "0.614371", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.Sequential.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "-2.737119e-07", + "Norm": "0.226761", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [ + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.0.BasicBlock.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.layer1.1.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004873", + "Min": "-0.006985", + "Mean": "6.366463e-13", + "Norm": "0.263476", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003609", + "Min": "-0.005254", + "Mean": "1.113839e-07", + "Norm": "0.209072", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.1.conv2.Conv2d.backward.0": { + "id": "Module.layer1.1.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.005144", + "Mean": "5.896727e-08", + "Norm": "0.36269", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.004873", + "Min": "-0.006985", + "Mean": "6.366463e-13", + "Norm": "0.263476", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.1.relu.ReLU.backward.1": { + "id": "Module.layer1.1.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer1.1.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.004949", + "Mean": "-2.247479e-07", + "Norm": "0.255762", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.005144", + "Mean": "5.896727e-08", + "Norm": "0.36269", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.1.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00343", + "Min": "-0.003328", + "Mean": "1.818989e-13", + "Norm": "0.165887", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005249", + "Min": "-0.004949", + "Mean": "-2.247479e-07", + "Norm": "0.255762", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.1.conv1.Conv2d.backward.0": { + "id": "Module.layer1.1.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.1.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.003166", + "Min": "-0.003639", + "Mean": "-1.210342e-08", + "Norm": "0.229291", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.1.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00343", + "Min": "-0.003328", + "Mean": "1.818989e-13", + "Norm": "0.165887", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.1.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.BasicBlock.backward.0": { + "id": "Module.layer1.0.BasicBlock.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.BasicBlock.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00901", + "Min": "-0.009858", + "Mean": "6.431268e-07", + "Norm": "0.614371", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.BasicBlock.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "9.928035e-08", + "Norm": "0.311783", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.Sequential.backward.0", + "subnodes": [ + "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.relu.ReLU.backward.0": { + "id": "Module.layer1.0.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "3.088644e-07", + "Norm": "0.299243", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "9.928035e-08", + "Norm": "0.311783", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.bn2.BatchNorm2d.backward.0": { + "id": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn2.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007243", + "Min": "-0.006519", + "Mean": "-7.275958e-13", + "Norm": "0.389929", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.bn2.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.005186", + "Min": "-0.005365", + "Mean": "3.088644e-07", + "Norm": "0.299243", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.conv2.Conv2d.backward.0": { + "id": "Module.layer1.0.conv2.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv2.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "-5.936339e-07", + "Norm": "0.54013", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.conv2.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007243", + "Min": "-0.006519", + "Mean": "-7.275958e-13", + "Norm": "0.389929", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.relu.ReLU.backward.1": { + "id": "Module.layer1.0.relu.ReLU.backward.1", + "node_type": 0, + "output_data": { + "Module.layer1.0.relu.ReLU.backward.1.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "2.777797e-07", + "Norm": "0.379333", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.relu.ReLU.backward.1.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "-5.936339e-07", + "Norm": "0.54013", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.1" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.bn1.BatchNorm2d.backward.0": { + "id": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.009111", + "Min": "-0.009193", + "Mean": "-7.275958e-13", + "Norm": "0.387683", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007983", + "Min": "-0.00772", + "Mean": "2.777797e-07", + "Norm": "0.379333", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.layer1.0.conv1.Conv2d.backward.0": { + "id": "Module.layer1.0.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.layer1.0.conv1.Conv2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.007328", + "Min": "-0.008206", + "Mean": "3.342619e-07", + "Norm": "0.538403", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer1.0.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.009111", + "Min": "-0.009193", + "Mean": "-7.275958e-13", + "Norm": "0.387683", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer1.0.BasicBlock.backward.0", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0", + "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "data": {} + }, + "Module.maxpool.MaxPool2d.backward.0": { + "id": "Module.maxpool.MaxPool2d.backward.0", + "node_type": 0, + "output_data": { + "Module.maxpool.MaxPool2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.607818e-07", + "Norm": "0.615501", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.maxpool.MaxPool2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 16, 16]", + "Max": "0.00901", + "Min": "-0.009858", + "Mean": "6.431268e-07", + "Norm": "0.614371", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.relu.ReLU.backward.0": { + "id": "Module.relu.ReLU.backward.0", + "node_type": 0, + "output_data": { + "Module.relu.ReLU.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.113458e-07", + "Norm": "0.614639", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.relu.ReLU.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.607818e-07", + "Norm": "0.615501", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.bn1.BatchNorm2d.backward.0": { + "id": "Module.bn1.BatchNorm2d.backward.0", + "node_type": 0, + "output_data": { + "Module.bn1.BatchNorm2d.backward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.049808", + "Min": "-0.064687", + "Mean": "1.364242e-12", + "Norm": "2.04307", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.bn1.BatchNorm2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.01485", + "Min": "-0.019076", + "Mean": "1.113458e-07", + "Norm": "0.614639", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + }, + "Module.conv1.Conv2d.backward.0": { + "id": "Module.conv1.Conv2d.backward.0", + "node_type": 0, + "output_data": { + "Module.conv1.Conv2d.backward.0.output.0": { + "value": "null" + } + }, + "input_data": { + "Module.conv1.Conv2d.backward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 64, 32, 32]", + "Max": "0.049808", + "Min": "-0.064687", + "Mean": "1.364242e-12", + "Norm": "2.04307", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "suggestions": {}, + "stack_info": [], + "micro_step_id": 0, + "data": {} + } + } + }, + "ToolTip": "{\"Max diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c\\u6700\\u5927\\u503c\\u7684\\u5dee\\u503c\", \"Min diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c\\u6700\\u5c0f\\u503c\\u7684\\u5dee\\u503c\", \"Mean diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c\\u5e73\\u5747\\u503c\\u7684\\u5dee\\u503c\", \"L2norm diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c2\\u8303\\u6570\\uff08\\u5e73\\u65b9\\u6839\\uff09\\u7684\\u5dee\\u503c\"}", + "Colors": { + "#FFFCF3": { + "value": [ + 0, + 0.2 + ], + "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FFEDBE": { + "value": [ + 0.2, + 0.4 + ], + "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FFDC7F": { + "value": [ + 0.4, + 0.6 + ], + "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FFC62E": { + "value": [ + 0.6, + 0.8 + ], + "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FF704D": { + "value": [ + 0.8, + 1 + ], + "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#C7C7C7": { + "value": [], + "description": "比对过程中节点未匹配上" + } + }, + "MicroSteps": 1, + "task": "summary", + "npu_match_nodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0" + }, + "bench_match_nodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0" + } +} \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config new file mode 100644 index 0000000000000000000000000000000000000000..f0cb92aa411c8f29dfe8f15a67aa3c5872e3f835 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config @@ -0,0 +1,3 @@ +{ + "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0" +} \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes.json new file mode 100644 index 0000000000000000000000000000000000000000..2662bf3a43d650630821974cf0797899aa34c496 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes.json @@ -0,0 +1,318 @@ +[ + { + "case_id": "1", + "description": "测试删除匹配节点", + "input": "data/plugin/graph_ascend/addMatchNodes?npuNodeName=Module.fc.Linear.forward.0&benchNodeName=Module.fc.Linear.forward.0&metaData={\"run\":\"st_test_cases\",\"tag\":\"mock_compare_resnet_data\"}", + "expected": { + "success": true, + "data": { + "npuMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0", + "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0" + }, + "benchMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0", + "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes_by_config.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes_by_config.json new file mode 100644 index 0000000000000000000000000000000000000000..ef9d9cb802fd354ba844e6ee3c1a5e9f10af0c7a --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes_by_config.json @@ -0,0 +1,321 @@ +[ + { + "case_id": "1", + "description": "测试根据匹配文件添加节点", + "input": "data/plugin/graph_ascend/addMatchNodesByConfig?configFile=mock_compare_resnet_data.vis.config&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "matchReslut": [ + true + ], + "npuMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0", + "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0" + }, + "benchMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0", + "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_change_node_expand_state.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_change_node_expand_state.json new file mode 100644 index 0000000000000000000000000000000000000000..da8c16519badd36eaee349b2375bc0393aeff16a --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_change_node_expand_state.json @@ -0,0 +1,1650 @@ +[ + { + "case_id": "1", + "description": "测试展开NPU侧根节点", + "input": "/data/plugin/graph_ascend/changeNodeExpandState?nodeInfo={\"nodeName\":\"root\",\"nodeType\":\"NPU\"}&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "DefaultModel": { + "x": 0, + "y": 0, + "width": 230, + "height": 300, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "DefaultModel", + "name": "N___DefaultModel", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.forward.0": { + "x": 7, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.forward.0", + "name": "N___Module.conv1.Conv2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.forward.0": { + "x": 62, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.forward.0", + "name": "N___Module.bn1.BatchNorm2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.forward.0": { + "x": 117, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.forward.0", + "name": "N___Module.relu.ReLU.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.forward.0": { + "x": 172, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.forward.0", + "name": "N___Module.maxpool.MaxPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.forward.0": { + "x": 8, + "y": 50, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.forward.0", + "name": "N___Module.layer1.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "precisionIndex": 0.7, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.forward.0": { + "x": 8, + "y": 75, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.forward.0", + "name": "N___Module.layer2.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.forward.0": { + "x": 8, + "y": 100, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.forward.0", + "name": "N___Module.layer3.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.forward.0": { + "x": 8, + "y": 125, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.forward.0", + "name": "N___Module.layer4.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "x": 7, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.forward.0": { + "x": 62, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.forward.0", + "name": "N___Module.fc.Linear.forward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.backward.0": { + "x": 117, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.backward.0", + "name": "N___Module.fc.Linear.backward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "x": 172, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.backward.0": { + "x": 5, + "y": 175, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.backward.0", + "name": "N___Module.layer4.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.backward.0": { + "x": 5, + "y": 200, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.backward.0", + "name": "N___Module.layer3.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.backward.0": { + "x": 5, + "y": 225, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.backward.0", + "name": "N___Module.layer2.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.backward.0": { + "x": 5, + "y": 250, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.backward.0", + "name": "N___Module.layer1.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.backward.0": { + "x": 7, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.backward.0", + "name": "N___Module.maxpool.MaxPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.backward.0": { + "x": 62, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.backward.0", + "name": "N___Module.relu.ReLU.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.backward.0": { + "x": 117, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.backward.0", + "name": "N___Module.bn1.BatchNorm2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.backward.0": { + "x": 172, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.backward.0", + "name": "N___Module.conv1.Conv2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } + }, + { + "case_id": "2", + "description": "测试展开Bench侧根节点", + "input": "/data/plugin/graph_ascend/changeNodeExpandState?nodeInfo={\"nodeName\":\"root\",\"nodeType\":\"Bench\"}&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "DefaultModel": { + "x": 0, + "y": 0, + "width": 230, + "height": 300, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "DefaultModel", + "name": "B___DefaultModel", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.forward.0": { + "x": 7, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.forward.0", + "name": "B___Module.conv1.Conv2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.forward.0": { + "x": 62, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.forward.0", + "name": "B___Module.bn1.BatchNorm2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.forward.0": { + "x": 117, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.forward.0", + "name": "B___Module.relu.ReLU.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.forward.0": { + "x": 172, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.forward.0", + "name": "B___Module.maxpool.MaxPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.forward.0": { + "x": 8, + "y": 50, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.forward.0", + "name": "B___Module.layer1.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.forward.0": { + "x": 8, + "y": 75, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.forward.0", + "name": "B___Module.layer2.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.forward.0": { + "x": 8, + "y": 100, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.forward.0", + "name": "B___Module.layer3.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.forward.0": { + "x": 8, + "y": 125, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.forward.0", + "name": "B___Module.layer4.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "x": 7, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "name": "B___Module.avgpool.AdaptiveAvgPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.forward.0": { + "x": 62, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.forward.0", + "name": "B___Module.fc.Linear.forward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.backward.0": { + "x": 117, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.backward.0", + "name": "B___Module.fc.Linear.backward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "x": 172, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "name": "B___Module.avgpool.AdaptiveAvgPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.backward.0": { + "x": 5, + "y": 175, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.backward.0", + "name": "B___Module.layer4.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.backward.0": { + "x": 5, + "y": 200, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.backward.0", + "name": "B___Module.layer3.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.backward.0": { + "x": 5, + "y": 225, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.backward.0", + "name": "B___Module.layer2.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.backward.0": { + "x": 5, + "y": 250, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.backward.0", + "name": "B___Module.layer1.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.backward.0": { + "x": 7, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.backward.0", + "name": "B___Module.maxpool.MaxPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.backward.0": { + "x": 62, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.backward.0", + "name": "B___Module.relu.ReLU.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.backward.0": { + "x": 117, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.backward.0", + "name": "B___Module.bn1.BatchNorm2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.backward.0": { + "x": 172, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.backward.0", + "name": "B___Module.conv1.Conv2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } + }, + { + "case_id": "3", + "description": "测试展开NPU侧子节点", + "input": "/data/plugin/graph_ascend/changeNodeExpandState?nodeInfo={\"nodeName\":\"Module.layer1.Sequential.forward.0\",\"nodeType\":\"NPU\"}&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "DefaultModel": { + "x": 0, + "y": 0, + "width": 230, + "height": 360, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "DefaultModel", + "name": "N___DefaultModel", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.forward.0": { + "x": 7, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.forward.0", + "name": "N___Module.conv1.Conv2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.forward.0": { + "x": 62, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.forward.0", + "name": "N___Module.bn1.BatchNorm2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.forward.0": { + "x": 117, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.forward.0", + "name": "N___Module.relu.ReLU.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.forward.0": { + "x": 172, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.forward.0", + "name": "N___Module.maxpool.MaxPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.forward.0": { + "x": 8, + "y": 50, + "width": 214, + "height": 75, + "expand": true, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.forward.0", + "name": "N___Module.layer1.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "precisionIndex": 0.7, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.0.BasicBlock.forward.0": { + "x": 23, + "y": 75, + "width": 184, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Module.layer1.Sequential.forward.0", + "label": "layer1.0.BasicBlock.forward.0", + "name": "N___Module.layer1.0.BasicBlock.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.0.BasicBlock.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.1.BasicBlock.forward.0": { + "x": 23, + "y": 100, + "width": 184, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Module.layer1.Sequential.forward.0", + "label": "layer1.1.BasicBlock.forward.0", + "name": "N___Module.layer1.1.BasicBlock.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0", + "Module.layer1.1.BasicBlock.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.forward.0": { + "x": 8, + "y": 135, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.forward.0", + "name": "N___Module.layer2.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.forward.0": { + "x": 8, + "y": 160, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.forward.0", + "name": "N___Module.layer3.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.forward.0": { + "x": 8, + "y": 185, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.forward.0", + "name": "N___Module.layer4.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "x": 7, + "y": 210, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.forward.0": { + "x": 62, + "y": 210, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.forward.0", + "name": "N___Module.fc.Linear.forward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.backward.0": { + "x": 117, + "y": 210, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.backward.0", + "name": "N___Module.fc.Linear.backward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "x": 172, + "y": 210, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.backward.0": { + "x": 5, + "y": 235, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.backward.0", + "name": "N___Module.layer4.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.backward.0": { + "x": 5, + "y": 260, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.backward.0", + "name": "N___Module.layer3.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.backward.0": { + "x": 5, + "y": 285, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.backward.0", + "name": "N___Module.layer2.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.backward.0": { + "x": 5, + "y": 310, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.backward.0", + "name": "N___Module.layer1.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.backward.0": { + "x": 7, + "y": 335, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.backward.0", + "name": "N___Module.maxpool.MaxPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.backward.0": { + "x": 62, + "y": 335, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.backward.0", + "name": "N___Module.relu.ReLU.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.backward.0": { + "x": 117, + "y": 335, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.backward.0", + "name": "N___Module.bn1.BatchNorm2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.backward.0": { + "x": 172, + "y": 335, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.backward.0", + "name": "N___Module.conv1.Conv2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } + }, + { + "case_id": "4", + "description": "测试折叠NPU侧子节点", + "input": "/data/plugin/graph_ascend/changeNodeExpandState?nodeInfo={\"nodeName\":\"Module.layer1.Sequential.forward.0\",\"nodeType\":\"NPU\"}&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "DefaultModel": { + "x": 0, + "y": 0, + "width": 230, + "height": 300, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "DefaultModel", + "name": "N___DefaultModel", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.forward.0": { + "x": 7, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.forward.0", + "name": "N___Module.conv1.Conv2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.forward.0": { + "x": 62, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.forward.0", + "name": "N___Module.bn1.BatchNorm2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.forward.0": { + "x": 117, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.forward.0", + "name": "N___Module.relu.ReLU.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.forward.0": { + "x": 172, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.forward.0", + "name": "N___Module.maxpool.MaxPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.forward.0": { + "x": 8, + "y": 50, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.forward.0", + "name": "N___Module.layer1.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "precisionIndex": 0.7, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.forward.0": { + "x": 8, + "y": 75, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.forward.0", + "name": "N___Module.layer2.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.forward.0": { + "x": 8, + "y": 100, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.forward.0", + "name": "N___Module.layer3.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.forward.0": { + "x": 8, + "y": 125, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.forward.0", + "name": "N___Module.layer4.Sequential.forward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "x": 7, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.forward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.forward.0": { + "x": 62, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.forward.0", + "name": "N___Module.fc.Linear.forward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.backward.0": { + "x": 117, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.backward.0", + "name": "N___Module.fc.Linear.backward.0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "x": 172, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.backward.0": { + "x": 5, + "y": 175, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.backward.0", + "name": "N___Module.layer4.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.backward.0": { + "x": 5, + "y": 200, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.backward.0", + "name": "N___Module.layer3.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.backward.0": { + "x": 5, + "y": 225, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.backward.0", + "name": "N___Module.layer2.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.backward.0": { + "x": 5, + "y": 250, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.backward.0", + "name": "N___Module.layer1.Sequential.backward.0", + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.backward.0": { + "x": 7, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.backward.0", + "name": "N___Module.maxpool.MaxPool2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.backward.0": { + "x": 62, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.backward.0", + "name": "N___Module.relu.ReLU.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.backward.0": { + "x": 117, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.backward.0", + "name": "N___Module.bn1.BatchNorm2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.backward.0": { + "x": 172, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.backward.0", + "name": "N___Module.conv1.Conv2d.backward.0", + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_delete_match_nodes.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_delete_match_nodes.json new file mode 100644 index 0000000000000000000000000000000000000000..89185fc8a8dd64c4d0936a9c6d16e4bac88fc272 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_delete_match_nodes.json @@ -0,0 +1,320 @@ +[ + { + "case_id": "1", + "description": "测试删除匹配节点", + "input": "data/plugin/graph_ascend/addMatchNodes?npuNodeName=Module.fc.Linear.forward.0&benchNodeName=Module.fc.Linear.forward.0&metaData={\"run\":\"st_test_cases\",\"tag\":\"mock_compare_resnet_data\"}", + "expected": { + "success": true, + "data": { + "npuMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0" + }, + "benchMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0" + }, + "npuUnMatchNodes": [ + "Module.fc.Linear.forward.0" + ], + "benchUnMatchNodes": [ + "Module.fc.Linear.forward.0" + ] + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_get_node_info.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_get_node_info.json new file mode 100644 index 0000000000000000000000000000000000000000..fb19100d6193a8436ece663e3bad84abe89a29f1 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_get_node_info.json @@ -0,0 +1,194 @@ +[ + { + "case_id": "1", + "description": "测试获取匹配节点信息", + "input": "/data/plugin/graph_ascend/getNodeInfo?nodeInfo={\"nodeType\":\"NPU\",\"nodeName\":\"Module.layer2.1.BasicBlock.forward.0\"}&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "npu": { + "id": "Module.layer2.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, \u7531\u4e8eMin\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "input_data": { + "Module.layer2.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000", + "Max diff": "0.0", + "Min diff": "0.0", + "Mean diff": "0.0", + "L2norm diff": "0.0", + "MaxRelativeErr": "0.0%", + "MinRelativeErr": "N/A, \u7531\u4e8eMin\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee", + "MeanRelativeErr": "0.0%", + "NormRelativeErr": "0.0%" + } + }, + "upnode": "Module.layer2.Sequential.forward.0", + "subnodes": [ + "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": { + "precision_index": 0 + } + }, + "bench": { + "id": "Module.layer2.1.BasicBlock.forward.0", + "node_type": 0, + "output_data": { + "Module.layer2.1.BasicBlock.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "7.306092", + "Min": "0.0", + "Mean": "0.830152", + "Norm": "372.837189", + "data_name": "-1", + "md5": "00000000" + } + }, + "input_data": { + "Module.layer2.1.BasicBlock.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 128, 8, 8]", + "Max": "6.058126", + "Min": "0.0", + "Mean": "0.569005", + "Norm": "288.38382", + "data_name": "-1", + "md5": "00000000" + } + }, + "upnode": "Module.layer2.Sequential.forward.0", + "subnodes": [ + "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1" + ], + "matched_node_link": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/container.py, line 215, in forward, \n input = module(input)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1568, in _call_impl, \n result = forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 274, in _forward_impl, \n x = self.layer2(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "data": {} + } + } + } + }, + { + "case_id": "2", + "description": "测试获取未匹配节点信息", + "input": "/data/plugin/graph_ascend/getNodeInfo?nodeInfo={\"nodeType\":\"NPU\",\"nodeName\":\"Module.fc.Linear.forward.0\"}&metaData={\"tag\":\"mock_compare_resnet_data\",\"microStep\":-1,\"run\":\"st_test_cases\"}", + "expected": { + "success": true, + "data": { + "npu": { + "id": "Module.fc.Linear.forward.0", + "node_type": 0, + "output_data": { + "Module.fc.Linear.forward.0.output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 10]", + "Max": "1.236255", + "Min": "-1.562365", + "Mean": "-0.12689", + "Norm": "5.357258", + "data_name": "-1" + } + }, + "input_data": { + "Module.fc.Linear.forward.0.input.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[10, 512]", + "Max": "2.68325", + "Min": "0.0", + "Mean": "0.82681", + "Norm": "66.964317", + "data_name": "-1" + } + }, + "upnode": "DefaultModel", + "subnodes": [], + "matched_node_link": [], + "suggestions": {}, + "stack_info": [ + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 280, in _forward_impl, \n x = self.fc(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torchvision/models/resnet.py, line 285, in forward, \n return self._forward_impl(x)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1527, in _call_impl, \n return forward_call(*args, **kwargs)", + "File /home/louyujing/miniconda3/lib/python3.9/site-packages/torch/nn/modules/module.py, line 1518, in _wrapped_call_impl, \n return self._call_impl(*args, **kwargs)", + "File /home/louyujing/visualization/resnet18.py, line 40, in , \n outputs = model(inputs)" + ], + "micro_step_id": 0, + "data": {} + }, + "bench": null + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_all_node_list.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_all_node_list.json new file mode 100644 index 0000000000000000000000000000000000000000..31d53cd586c595444e1c386962fdb0380f2d8f80 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_all_node_list.json @@ -0,0 +1,317 @@ +[ + { + "case_id": "1", + "description": "test load_graph_all_node_list", + "expected": { + "success": true, + "data": { + "npuNodeList": [], + "benchNodeList": [], + "npuUnMatchNodes": [], + "benchUnMatchNodes": [], + "npuMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0" + }, + "benchMatchNodes": { + "DefaultModel": "DefaultModel", + "Module.conv1.Conv2d.forward.0": "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0": "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0": "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0": "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.0.BasicBlock.forward.0": "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.0.conv1.Conv2d.forward.0": "Module.layer1.0.conv1.Conv2d.forward.0", + "Module.layer1.Sequential.forward.0": "Module.layer1.Sequential.forward.0", + "Module.layer1.0.bn1.BatchNorm2d.forward.0": "Module.layer1.0.bn1.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.0": "Module.layer1.0.relu.ReLU.forward.0", + "Module.layer1.0.conv2.Conv2d.forward.0": "Module.layer1.0.conv2.Conv2d.forward.0", + "Module.layer1.0.bn2.BatchNorm2d.forward.0": "Module.layer1.0.bn2.BatchNorm2d.forward.0", + "Module.layer1.0.relu.ReLU.forward.1": "Module.layer1.0.relu.ReLU.forward.1", + "Module.layer1.1.BasicBlock.forward.0": "Module.layer1.1.BasicBlock.forward.0", + "Module.layer1.1.conv1.Conv2d.forward.0": "Module.layer1.1.conv1.Conv2d.forward.0", + "Module.layer1.1.bn1.BatchNorm2d.forward.0": "Module.layer1.1.bn1.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.0": "Module.layer1.1.relu.ReLU.forward.0", + "Module.layer1.1.conv2.Conv2d.forward.0": "Module.layer1.1.conv2.Conv2d.forward.0", + "Module.layer1.1.bn2.BatchNorm2d.forward.0": "Module.layer1.1.bn2.BatchNorm2d.forward.0", + "Module.layer1.1.relu.ReLU.forward.1": "Module.layer1.1.relu.ReLU.forward.1", + "Module.layer2.0.BasicBlock.forward.0": "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.0.conv1.Conv2d.forward.0": "Module.layer2.0.conv1.Conv2d.forward.0", + "Module.layer2.Sequential.forward.0": "Module.layer2.Sequential.forward.0", + "Module.layer2.0.bn1.BatchNorm2d.forward.0": "Module.layer2.0.bn1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.0": "Module.layer2.0.relu.ReLU.forward.0", + "Module.layer2.0.conv2.Conv2d.forward.0": "Module.layer2.0.conv2.Conv2d.forward.0", + "Module.layer2.0.bn2.BatchNorm2d.forward.0": "Module.layer2.0.bn2.BatchNorm2d.forward.0", + "Module.layer2.0.downsample.Sequential.forward.0": "Module.layer2.0.downsample.Sequential.forward.0", + "Module.layer2.0.downsample.0.Conv2d.forward.0": "Module.layer2.0.downsample.0.Conv2d.forward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.forward.0": "Module.layer2.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer2.0.relu.ReLU.forward.1": "Module.layer2.0.relu.ReLU.forward.1", + "Module.layer2.1.BasicBlock.forward.0": "Module.layer2.1.BasicBlock.forward.0", + "Module.layer2.1.conv1.Conv2d.forward.0": "Module.layer2.1.conv1.Conv2d.forward.0", + "Module.layer2.1.bn1.BatchNorm2d.forward.0": "Module.layer2.1.bn1.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.0": "Module.layer2.1.relu.ReLU.forward.0", + "Module.layer2.1.conv2.Conv2d.forward.0": "Module.layer2.1.conv2.Conv2d.forward.0", + "Module.layer2.1.bn2.BatchNorm2d.forward.0": "Module.layer2.1.bn2.BatchNorm2d.forward.0", + "Module.layer2.1.relu.ReLU.forward.1": "Module.layer2.1.relu.ReLU.forward.1", + "Module.layer3.0.BasicBlock.forward.0": "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.0.conv1.Conv2d.forward.0": "Module.layer3.0.conv1.Conv2d.forward.0", + "Module.layer3.Sequential.forward.0": "Module.layer3.Sequential.forward.0", + "Module.layer3.0.bn1.BatchNorm2d.forward.0": "Module.layer3.0.bn1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.0": "Module.layer3.0.relu.ReLU.forward.0", + "Module.layer3.0.conv2.Conv2d.forward.0": "Module.layer3.0.conv2.Conv2d.forward.0", + "Module.layer3.0.bn2.BatchNorm2d.forward.0": "Module.layer3.0.bn2.BatchNorm2d.forward.0", + "Module.layer3.0.downsample.Sequential.forward.0": "Module.layer3.0.downsample.Sequential.forward.0", + "Module.layer3.0.downsample.0.Conv2d.forward.0": "Module.layer3.0.downsample.0.Conv2d.forward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.forward.0": "Module.layer3.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer3.0.relu.ReLU.forward.1": "Module.layer3.0.relu.ReLU.forward.1", + "Module.layer3.1.BasicBlock.forward.0": "Module.layer3.1.BasicBlock.forward.0", + "Module.layer3.1.conv1.Conv2d.forward.0": "Module.layer3.1.conv1.Conv2d.forward.0", + "Module.layer3.1.bn1.BatchNorm2d.forward.0": "Module.layer3.1.bn1.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.0": "Module.layer3.1.relu.ReLU.forward.0", + "Module.layer3.1.conv2.Conv2d.forward.0": "Module.layer3.1.conv2.Conv2d.forward.0", + "Module.layer3.1.bn2.BatchNorm2d.forward.0": "Module.layer3.1.bn2.BatchNorm2d.forward.0", + "Module.layer3.1.relu.ReLU.forward.1": "Module.layer3.1.relu.ReLU.forward.1", + "Module.layer4.0.BasicBlock.forward.0": "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.0.conv1.Conv2d.forward.0": "Module.layer4.0.conv1.Conv2d.forward.0", + "Module.layer4.Sequential.forward.0": "Module.layer4.Sequential.forward.0", + "Module.layer4.0.bn1.BatchNorm2d.forward.0": "Module.layer4.0.bn1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.0": "Module.layer4.0.relu.ReLU.forward.0", + "Module.layer4.0.conv2.Conv2d.forward.0": "Module.layer4.0.conv2.Conv2d.forward.0", + "Module.layer4.0.bn2.BatchNorm2d.forward.0": "Module.layer4.0.bn2.BatchNorm2d.forward.0", + "Module.layer4.0.downsample.Sequential.forward.0": "Module.layer4.0.downsample.Sequential.forward.0", + "Module.layer4.0.downsample.0.Conv2d.forward.0": "Module.layer4.0.downsample.0.Conv2d.forward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.forward.0": "Module.layer4.0.downsample.1.BatchNorm2d.forward.0", + "Module.layer4.0.relu.ReLU.forward.1": "Module.layer4.0.relu.ReLU.forward.1", + "Module.layer4.1.BasicBlock.forward.0": "Module.layer4.1.BasicBlock.forward.0", + "Module.layer4.1.conv1.Conv2d.forward.0": "Module.layer4.1.conv1.Conv2d.forward.0", + "Module.layer4.1.bn1.BatchNorm2d.forward.0": "Module.layer4.1.bn1.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.0": "Module.layer4.1.relu.ReLU.forward.0", + "Module.layer4.1.conv2.Conv2d.forward.0": "Module.layer4.1.conv2.Conv2d.forward.0", + "Module.layer4.1.bn2.BatchNorm2d.forward.0": "Module.layer4.1.bn2.BatchNorm2d.forward.0", + "Module.layer4.1.relu.ReLU.forward.1": "Module.layer4.1.relu.ReLU.forward.1", + "Module.avgpool.AdaptiveAvgPool2d.forward.0": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.1.BasicBlock.backward.0": "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.1.relu.ReLU.backward.0": "Module.layer4.1.relu.ReLU.backward.0", + "Module.layer4.Sequential.backward.0": "Module.layer4.Sequential.backward.0", + "Module.layer4.1.bn2.BatchNorm2d.backward.0": "Module.layer4.1.bn2.BatchNorm2d.backward.0", + "Module.layer4.1.conv2.Conv2d.backward.0": "Module.layer4.1.conv2.Conv2d.backward.0", + "Module.layer4.1.relu.ReLU.backward.1": "Module.layer4.1.relu.ReLU.backward.1", + "Module.layer4.1.bn1.BatchNorm2d.backward.0": "Module.layer4.1.bn1.BatchNorm2d.backward.0", + "Module.layer4.1.conv1.Conv2d.backward.0": "Module.layer4.1.conv1.Conv2d.backward.0", + "Module.layer4.0.BasicBlock.backward.0": "Module.layer4.0.BasicBlock.backward.0", + "Module.layer4.0.relu.ReLU.backward.0": "Module.layer4.0.relu.ReLU.backward.0", + "Module.layer4.0.downsample.Sequential.backward.0": "Module.layer4.0.downsample.Sequential.backward.0", + "Module.layer4.0.downsample.1.BatchNorm2d.backward.0": "Module.layer4.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer4.0.downsample.0.Conv2d.backward.0": "Module.layer4.0.downsample.0.Conv2d.backward.0", + "Module.layer4.0.bn2.BatchNorm2d.backward.0": "Module.layer4.0.bn2.BatchNorm2d.backward.0", + "Module.layer4.0.conv2.Conv2d.backward.0": "Module.layer4.0.conv2.Conv2d.backward.0", + "Module.layer4.0.relu.ReLU.backward.1": "Module.layer4.0.relu.ReLU.backward.1", + "Module.layer4.0.bn1.BatchNorm2d.backward.0": "Module.layer4.0.bn1.BatchNorm2d.backward.0", + "Module.layer4.0.conv1.Conv2d.backward.0": "Module.layer4.0.conv1.Conv2d.backward.0", + "Module.layer3.1.BasicBlock.backward.0": "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.1.relu.ReLU.backward.0": "Module.layer3.1.relu.ReLU.backward.0", + "Module.layer3.Sequential.backward.0": "Module.layer3.Sequential.backward.0", + "Module.layer3.1.bn2.BatchNorm2d.backward.0": "Module.layer3.1.bn2.BatchNorm2d.backward.0", + "Module.layer3.1.conv2.Conv2d.backward.0": "Module.layer3.1.conv2.Conv2d.backward.0", + "Module.layer3.1.relu.ReLU.backward.1": "Module.layer3.1.relu.ReLU.backward.1", + "Module.layer3.1.bn1.BatchNorm2d.backward.0": "Module.layer3.1.bn1.BatchNorm2d.backward.0", + "Module.layer3.1.conv1.Conv2d.backward.0": "Module.layer3.1.conv1.Conv2d.backward.0", + "Module.layer3.0.BasicBlock.backward.0": "Module.layer3.0.BasicBlock.backward.0", + "Module.layer3.0.relu.ReLU.backward.0": "Module.layer3.0.relu.ReLU.backward.0", + "Module.layer3.0.downsample.Sequential.backward.0": "Module.layer3.0.downsample.Sequential.backward.0", + "Module.layer3.0.downsample.1.BatchNorm2d.backward.0": "Module.layer3.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer3.0.downsample.0.Conv2d.backward.0": "Module.layer3.0.downsample.0.Conv2d.backward.0", + "Module.layer3.0.bn2.BatchNorm2d.backward.0": "Module.layer3.0.bn2.BatchNorm2d.backward.0", + "Module.layer3.0.conv2.Conv2d.backward.0": "Module.layer3.0.conv2.Conv2d.backward.0", + "Module.layer3.0.relu.ReLU.backward.1": "Module.layer3.0.relu.ReLU.backward.1", + "Module.layer3.0.bn1.BatchNorm2d.backward.0": "Module.layer3.0.bn1.BatchNorm2d.backward.0", + "Module.layer3.0.conv1.Conv2d.backward.0": "Module.layer3.0.conv1.Conv2d.backward.0", + "Module.layer2.1.BasicBlock.backward.0": "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.1.relu.ReLU.backward.0": "Module.layer2.1.relu.ReLU.backward.0", + "Module.layer2.Sequential.backward.0": "Module.layer2.Sequential.backward.0", + "Module.layer2.1.bn2.BatchNorm2d.backward.0": "Module.layer2.1.bn2.BatchNorm2d.backward.0", + "Module.layer2.1.conv2.Conv2d.backward.0": "Module.layer2.1.conv2.Conv2d.backward.0", + "Module.layer2.1.relu.ReLU.backward.1": "Module.layer2.1.relu.ReLU.backward.1", + "Module.layer2.1.bn1.BatchNorm2d.backward.0": "Module.layer2.1.bn1.BatchNorm2d.backward.0", + "Module.layer2.1.conv1.Conv2d.backward.0": "Module.layer2.1.conv1.Conv2d.backward.0", + "Module.layer2.0.BasicBlock.backward.0": "Module.layer2.0.BasicBlock.backward.0", + "Module.layer2.0.relu.ReLU.backward.0": "Module.layer2.0.relu.ReLU.backward.0", + "Module.layer2.0.downsample.Sequential.backward.0": "Module.layer2.0.downsample.Sequential.backward.0", + "Module.layer2.0.downsample.1.BatchNorm2d.backward.0": "Module.layer2.0.downsample.1.BatchNorm2d.backward.0", + "Module.layer2.0.downsample.0.Conv2d.backward.0": "Module.layer2.0.downsample.0.Conv2d.backward.0", + "Module.layer2.0.bn2.BatchNorm2d.backward.0": "Module.layer2.0.bn2.BatchNorm2d.backward.0", + "Module.layer2.0.conv2.Conv2d.backward.0": "Module.layer2.0.conv2.Conv2d.backward.0", + "Module.layer2.0.relu.ReLU.backward.1": "Module.layer2.0.relu.ReLU.backward.1", + "Module.layer2.0.bn1.BatchNorm2d.backward.0": "Module.layer2.0.bn1.BatchNorm2d.backward.0", + "Module.layer2.0.conv1.Conv2d.backward.0": "Module.layer2.0.conv1.Conv2d.backward.0", + "Module.layer1.1.BasicBlock.backward.0": "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.1.relu.ReLU.backward.0": "Module.layer1.1.relu.ReLU.backward.0", + "Module.layer1.Sequential.backward.0": "Module.layer1.Sequential.backward.0", + "Module.layer1.1.bn2.BatchNorm2d.backward.0": "Module.layer1.1.bn2.BatchNorm2d.backward.0", + "Module.layer1.1.conv2.Conv2d.backward.0": "Module.layer1.1.conv2.Conv2d.backward.0", + "Module.layer1.1.relu.ReLU.backward.1": "Module.layer1.1.relu.ReLU.backward.1", + "Module.layer1.1.bn1.BatchNorm2d.backward.0": "Module.layer1.1.bn1.BatchNorm2d.backward.0", + "Module.layer1.1.conv1.Conv2d.backward.0": "Module.layer1.1.conv1.Conv2d.backward.0", + "Module.layer1.0.BasicBlock.backward.0": "Module.layer1.0.BasicBlock.backward.0", + "Module.layer1.0.relu.ReLU.backward.0": "Module.layer1.0.relu.ReLU.backward.0", + "Module.layer1.0.bn2.BatchNorm2d.backward.0": "Module.layer1.0.bn2.BatchNorm2d.backward.0", + "Module.layer1.0.conv2.Conv2d.backward.0": "Module.layer1.0.conv2.Conv2d.backward.0", + "Module.layer1.0.relu.ReLU.backward.1": "Module.layer1.0.relu.ReLU.backward.1", + "Module.layer1.0.bn1.BatchNorm2d.backward.0": "Module.layer1.0.bn1.BatchNorm2d.backward.0", + "Module.layer1.0.conv1.Conv2d.backward.0": "Module.layer1.0.conv1.Conv2d.backward.0", + "Module.maxpool.MaxPool2d.backward.0": "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0": "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0": "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0": "Module.conv1.Conv2d.backward.0" + } + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_config_info.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_config_info.json new file mode 100644 index 0000000000000000000000000000000000000000..b1947dd1350dbc7e94b2585bdeb4dc5af28b1bcf --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_config_info.json @@ -0,0 +1,60 @@ +[ + { + "case_id": "1", + "description": "test load_graph_config_info", + "expected": { + "success": true, + "data": { + "microSteps": 1, + "tooltips": "{\"Max diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c\\u6700\\u5927\\u503c\\u7684\\u5dee\\u503c\", \"Min diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c\\u6700\\u5c0f\\u503c\\u7684\\u5dee\\u503c\", \"Mean diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c\\u5e73\\u5747\\u503c\\u7684\\u5dee\\u503c\", \"L2norm diff\": \"NPU\\u4e0e\\u6807\\u6746API\\u7edf\\u8ba1\\u4fe1\\u606f\\u6bd4\\u5bf9\\uff0c2\\u8303\\u6570\\uff08\\u5e73\\u65b9\\u6839\\uff09\\u7684\\u5dee\\u503c\"}", + "overflowCheck": true, + "isSingleGraph": false, + "colors": { + "#FFFCF3": { + "value": [ + 0, + 0.2 + ], + "description": "\u6b64\u8282\u70b9\u6240\u6709\u8f93\u5165\u8f93\u51fa\u7684\u7edf\u8ba1\u91cf\u76f8\u5bf9\u8bef\u5dee, \u503c\u8d8a\u5927\u4ee3\u8868\u6d4b\u91cf\u503c\u4e0e\u6807\u6746\u503c\u7684\u504f\u5dee\u8d8a\u5927, \u76f8\u5bf9\u8bef\u5dee\u8ba1\u7b97\u65b9\u5f0f:|(\u6d4b\u91cf\u503c-\u6807\u6746\u503c)/\u6807\u6746\u503c|" + }, + "#FFEDBE": { + "value": [ + 0.2, + 0.4 + ], + "description": "\u6b64\u8282\u70b9\u6240\u6709\u8f93\u5165\u8f93\u51fa\u7684\u7edf\u8ba1\u91cf\u76f8\u5bf9\u8bef\u5dee, \u503c\u8d8a\u5927\u4ee3\u8868\u6d4b\u91cf\u503c\u4e0e\u6807\u6746\u503c\u7684\u504f\u5dee\u8d8a\u5927, \u76f8\u5bf9\u8bef\u5dee\u8ba1\u7b97\u65b9\u5f0f:|(\u6d4b\u91cf\u503c-\u6807\u6746\u503c)/\u6807\u6746\u503c|" + }, + "#FFDC7F": { + "value": [ + 0.4, + 0.6 + ], + "description": "\u6b64\u8282\u70b9\u6240\u6709\u8f93\u5165\u8f93\u51fa\u7684\u7edf\u8ba1\u91cf\u76f8\u5bf9\u8bef\u5dee, \u503c\u8d8a\u5927\u4ee3\u8868\u6d4b\u91cf\u503c\u4e0e\u6807\u6746\u503c\u7684\u504f\u5dee\u8d8a\u5927, \u76f8\u5bf9\u8bef\u5dee\u8ba1\u7b97\u65b9\u5f0f:|(\u6d4b\u91cf\u503c-\u6807\u6746\u503c)/\u6807\u6746\u503c|" + }, + "#FFC62E": { + "value": [ + 0.6, + 0.8 + ], + "description": "\u6b64\u8282\u70b9\u6240\u6709\u8f93\u5165\u8f93\u51fa\u7684\u7edf\u8ba1\u91cf\u76f8\u5bf9\u8bef\u5dee, \u503c\u8d8a\u5927\u4ee3\u8868\u6d4b\u91cf\u503c\u4e0e\u6807\u6746\u503c\u7684\u504f\u5dee\u8d8a\u5927, \u76f8\u5bf9\u8bef\u5dee\u8ba1\u7b97\u65b9\u5f0f:|(\u6d4b\u91cf\u503c-\u6807\u6746\u503c)/\u6807\u6746\u503c|" + }, + "#FF704D": { + "value": [ + 0.8, + 1 + ], + "description": "\u6b64\u8282\u70b9\u6240\u6709\u8f93\u5165\u8f93\u51fa\u7684\u7edf\u8ba1\u91cf\u76f8\u5bf9\u8bef\u5dee, \u503c\u8d8a\u5927\u4ee3\u8868\u6d4b\u91cf\u503c\u4e0e\u6807\u6746\u503c\u7684\u504f\u5dee\u8d8a\u5927, \u76f8\u5bf9\u8bef\u5dee\u8ba1\u7b97\u65b9\u5f0f:|(\u6d4b\u91cf\u503c-\u6807\u6746\u503c)/\u6807\u6746\u503c|" + }, + "#C7C7C7": { + "value": [], + "description": "\u6bd4\u5bf9\u8fc7\u7a0b\u4e2d\u8282\u70b9\u672a\u5339\u914d\u4e0a" + } + }, + "matchedConfigFiles": [ + "mock_compare_resnet_data.vis.config" + ], + "task": "summary" + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_colors.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_colors.json new file mode 100644 index 0000000000000000000000000000000000000000..f218537b5c478e58f050c7869f3b298a4ad416e2 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_colors.json @@ -0,0 +1,12 @@ +[ + { + "case_id": "1", + "description": "测试删除匹配节点", + "input": "data/plugin/graph_ascend/updateColors?colors={\"%23FFEDBE\":{\"value\":[0,0.3],\"description\":\"此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|\"},\"%23FFC62E\":{\"value\":[0.3,0.9],\"description\":\"此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|\"},\"%23FF4118\":{\"value\":[0.9,1],\"description\":\"此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|\"},\"%23C7C7C7\":{\"value\":\"无匹配节点\",\"description\":\"对比过程中节点未匹配上\"}}&run=st_test_cases", + "expected": { + "success": true, + "error": null, + "data": {} + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_hierarchy_data.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_hierarchy_data.json new file mode 100644 index 0000000000000000000000000000000000000000..268ca229b396f11402d107ab21f1e9690103d825 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_hierarchy_data.json @@ -0,0 +1,474 @@ +[ + { + "case_id": "1", + "description": "测试 updateHierarchyData 接口", + "input": "data/plugin/graph_ascend/updateHierarchyData?graphType=NPU", + "expected": { + "success": true, + "data": { + "DefaultModel": { + "x": 0, + "y": 0, + "width": 230, + "height": 300, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "DefaultModel", + "name": "N___DefaultModel", + "children": [ + "Module.conv1.Conv2d.forward.0", + "Module.bn1.BatchNorm2d.forward.0", + "Module.relu.ReLU.forward.0", + "Module.maxpool.MaxPool2d.forward.0", + "Module.layer1.Sequential.forward.0", + "Module.layer2.Sequential.forward.0", + "Module.layer3.Sequential.forward.0", + "Module.layer4.Sequential.forward.0", + "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "Module.fc.Linear.forward.0", + "Module.fc.Linear.backward.0", + "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "Module.layer4.Sequential.backward.0", + "Module.layer3.Sequential.backward.0", + "Module.layer2.Sequential.backward.0", + "Module.layer1.Sequential.backward.0", + "Module.maxpool.MaxPool2d.backward.0", + "Module.relu.ReLU.backward.0", + "Module.bn1.BatchNorm2d.backward.0", + "Module.conv1.Conv2d.backward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.forward.0": { + "x": 7, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.forward.0", + "name": "N___Module.conv1.Conv2d.forward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.forward.0": { + "x": 62, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.forward.0", + "name": "N___Module.bn1.BatchNorm2d.forward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.forward.0": { + "x": 117, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.forward.0", + "name": "N___Module.relu.ReLU.forward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.forward.0": { + "x": 172, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.forward.0", + "name": "N___Module.maxpool.MaxPool2d.forward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.forward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.forward.0": { + "x": 8, + "y": 50, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.forward.0", + "name": "N___Module.layer1.Sequential.forward.0", + "children": [ + "Module.layer1.0.BasicBlock.forward.0", + "Module.layer1.1.BasicBlock.forward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.forward.0" + ], + "precisionIndex": 0.7, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.forward.0": { + "x": 8, + "y": 75, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.forward.0", + "name": "N___Module.layer2.Sequential.forward.0", + "children": [ + "Module.layer2.0.BasicBlock.forward.0", + "Module.layer2.1.BasicBlock.forward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.forward.0": { + "x": 8, + "y": 100, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.forward.0", + "name": "N___Module.layer3.Sequential.forward.0", + "children": [ + "Module.layer3.0.BasicBlock.forward.0", + "Module.layer3.1.BasicBlock.forward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.forward.0": { + "x": 8, + "y": 125, + "width": 214, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.forward.0", + "name": "N___Module.layer4.Sequential.forward.0", + "children": [ + "Module.layer4.0.BasicBlock.forward.0", + "Module.layer4.1.BasicBlock.forward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.forward.0": { + "x": 7, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.forward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.forward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.forward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.forward.0": { + "x": 62, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.forward.0", + "name": "N___Module.fc.Linear.forward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "None", + "DefaultModel", + "Module.fc.Linear.forward.0" + ], + "precisionIndex": 0.0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.fc.Linear.backward.0": { + "x": 117, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.fc.Linear.backward.0", + "name": "N___Module.fc.Linear.backward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.avgpool.AdaptiveAvgPool2d.backward.0": { + "x": 172, + "y": 150, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.avgpool.AdaptiveAvgPool2d.backward.0", + "name": "N___Module.avgpool.AdaptiveAvgPool2d.backward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.avgpool.AdaptiveAvgPool2d.backward.0" + ], + "precisionIndex": 0.81, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer4.Sequential.backward.0": { + "x": 5, + "y": 175, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer4.Sequential.backward.0", + "name": "N___Module.layer4.Sequential.backward.0", + "children": [ + "Module.layer4.1.BasicBlock.backward.0", + "Module.layer4.0.BasicBlock.backward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer4.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer3.Sequential.backward.0": { + "x": 5, + "y": 200, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer3.Sequential.backward.0", + "name": "N___Module.layer3.Sequential.backward.0", + "children": [ + "Module.layer3.1.BasicBlock.backward.0", + "Module.layer3.0.BasicBlock.backward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer3.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer2.Sequential.backward.0": { + "x": 5, + "y": 225, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer2.Sequential.backward.0", + "name": "N___Module.layer2.Sequential.backward.0", + "children": [ + "Module.layer2.1.BasicBlock.backward.0", + "Module.layer2.0.BasicBlock.backward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer2.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.layer1.Sequential.backward.0": { + "x": 5, + "y": 250, + "width": 220, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.layer1.Sequential.backward.0", + "name": "N___Module.layer1.Sequential.backward.0", + "children": [ + "Module.layer1.1.BasicBlock.backward.0", + "Module.layer1.0.BasicBlock.backward.0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "DefaultModel", + "Module.layer1.Sequential.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.maxpool.MaxPool2d.backward.0": { + "x": 7, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.maxpool.MaxPool2d.backward.0", + "name": "N___Module.maxpool.MaxPool2d.backward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.maxpool.MaxPool2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.relu.ReLU.backward.0": { + "x": 62, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.relu.ReLU.backward.0", + "name": "N___Module.relu.ReLU.backward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.relu.ReLU.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.bn1.BatchNorm2d.backward.0": { + "x": 117, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.bn1.BatchNorm2d.backward.0", + "name": "N___Module.bn1.BatchNorm2d.backward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.bn1.BatchNorm2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Module.conv1.Conv2d.backward.0": { + "x": 172, + "y": 275, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "DefaultModel", + "label": "Module.conv1.Conv2d.backward.0", + "name": "N___Module.conv1.Conv2d.backward.0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [ + "DefaultModel", + "Module.conv1.Conv2d.backward.0" + ], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/test_case_factory.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/test_case_factory.py new file mode 100644 index 0000000000000000000000000000000000000000..ba2604342e40cff585e92322da52155b0684a33f --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/test_case_factory.py @@ -0,0 +1,115 @@ +# Copyright (c) 2025, Huawei Technologies. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +import json +import os + + +class TestCaseFactory: + """管理所有测试用例的统一工厂""" + + UT_CASE_DIR = os.path.join(os.path.dirname(__file__), 'ut_test_cases') + ST_CASE_DIR = os.path.join(os.path.dirname(__file__), 'st_test_cases') + + @classmethod + def get_process_task_add_cases(cls): + return cls.load_ut_cases('test_match_node_controller/process_task_add_case.json') + + @classmethod + def get_process_task_delete_cases(cls): + return cls.load_ut_cases('test_match_node_controller/process_task_delete_case.json') + + @classmethod + def get_process_task_add_child_layer_cases(cls): + return cls.load_ut_cases('test_match_node_controller/process_task_add_child_layer.json') + + @classmethod + def get_process_task_delete_child_layer_cases(cls): + return cls.load_ut_cases('test_match_node_controller/process_task_delete_child_layer.json') + + @classmethod + def get_process_task_add_child_layer_by_config_cases(cls): + return cls.load_ut_cases('test_match_node_controller/process_task_add_child_layer_by_config.json') + + @classmethod + def get_change_expand_state_cases(cls): + return cls.load_ut_cases('test_layout_hierarchy_controller/change_expand_state_case.json') + + @classmethod + def get_update_hierarchy_data_cases(cls): + return cls.load_ut_cases('test_layout_hierarchy_controller/update_hierarchy_data_case.json') + + @classmethod + def load_single_graph_test_data(cls): + return cls.load_ut_cases('test_layout_hierarchy_controller/mock_single_statis_graph.vis') + + @classmethod + def load_compare_graph_test_data(cls): + return cls.load_ut_cases('test_layout_hierarchy_controller/mock_compare_statis_graph.vis') + + @classmethod + def load_ut_cases(cls, file_name): + """从JSON文件加载测试用例""" + path = os.path.join(cls.UT_CASE_DIR, file_name) + with open(path, 'r', encoding='utf-8') as f: + return json.load(f) + + # ST + @classmethod + def get_load_graph_config_info_cases(cls): + return cls.load_st_cases('test_load_graph_config_info.json') + + @classmethod + def get_load_graph_all_node_list_cases(cls): + return cls.load_st_cases('test_load_graph_all_node_list.json') + + @classmethod + def get_change_node_expand_state_cases(cls): + return cls.load_st_cases('test_change_node_expand_state.json') + + @classmethod + def get_test_add_match_nodes_cases(cls): + return cls.load_st_cases('test_add_match_nodes.json') + + @classmethod + def get_test_update_hierarchy_data_cases(cls): + return cls.load_st_cases('test_update_hierarchy_data.json') + + @classmethod + def get_test_delete_match_nodes_cases(cls): + return cls.load_st_cases('test_delete_match_nodes.json') + + @classmethod + def get_test_get_node_info_cases(cls): + return cls.load_st_cases('test_get_node_info.json') + + @classmethod + def get_test_add_match_nodes_by_config_cases(cls): + return cls.load_st_cases('test_add_match_nodes_by_config.json') + + @classmethod + def get_test_update_colors_cases(cls): + return cls.load_st_cases('test_update_colors.json') + + @classmethod + def load_compare_resnet_test_data(cls): + return cls.load_st_cases('mock_compare_resnet_data.vis') + + @classmethod + def load_st_cases(cls, file_name): + """从JSON文件加载测试用例""" + path = os.path.join(cls.ST_CASE_DIR, file_name) + with open(path, 'r', encoding='utf-8') as f: + return json.load(f) diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/change_expand_state_case.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/change_expand_state_case.json new file mode 100644 index 0000000000000000000000000000000000000000..5536e45f29779af07344cec41bc7a11c314ba875 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/change_expand_state_case.json @@ -0,0 +1,815 @@ +[ + { + "case_id": "0", + "description": "测试无效graph_type", + "input": { + "node_name": "invalid", + "graph_type": "invalid", + "graph": {}, + "micro_step": -1 + }, + "expected": {} + }, + { + "case_id": "1", + "description": "测试展开NPU根节点", + "input": { + "node_name": "root", + "graph_type": "NPU", + "graph": {}, + "micro_step": -1 + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 125, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "AddThree_0", + "name": "N___AddThree_0", + "nodeType": 0, + "matchedNodeLink": [ + "B___AddThree_0" + ], + "precisionIndex": 0.5, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "N___arg0_1_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": { + "communications_type": "send", + "nodes_info": { + "0": [ + "0.3", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "1": [ + "Nan", + "Tensor.__api__0.forward" + ], + "2": [ + "0.3", + "arg0_1_0" + ], + "3": [ + "0.3", + "arg0_1_0" + ], + "4": [ + "0.3", + "arg0_1_0" + ] + } + } + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 50, + "width": 226, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "N___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "nodeType": 9, + "matchedNodeLink": [ + "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "precisionIndex": "NaN", + "overflowLevel": "medium", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 75, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "N___Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "nodeType": 8, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 100, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "N___output_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + }, + { + "case_id": "2", + "description": "测试展开Bench根节点", + "input": { + "node_name": "root", + "graph_type": "Bench", + "graph": {}, + "micro_step": -1 + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 125, + "expand": true, + "isRoot": true, + "parentNode": "root", + "label": "AddThree_0", + "name": "B___AddThree_0", + "nodeType": 0, + "matchedNodeLink": [ + "N___AddThree_0" + ], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "B___arg0_1_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 50, + "width": 226, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "nodeType": 0, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 75, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "B___Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "nodeType": 0, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 100, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "B___output_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + }, + { + "case_id": "3", + "description": "测试展开单图根节点", + "input": { + "node_name": "root", + "graph_type": "Single", + "graph": {}, + "micro_step": -1 + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 150, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "AddThree_0", + "name": "AddThree_0", + "nodeType": 0, + "matchedNodeLink": [ + "B___AddThree_0" + ], + "precisionIndex": 0.5, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "arg0_1_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Apis_Between_Modules.0": { + "x": 122, + "y": 50, + "width": 142, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Apis_Between_Modules.0", + "name": "Apis_Between_Modules.0", + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 75, + "width": 226, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "medium", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 100, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "nodeType": 0, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 125, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "output_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + }, + { + "case_id": "4", + "description": "测试点击展开多图NPU节点", + "input": { + "node_name": "AddThree_0", + "graph_type": "NPU", + "graph": {}, + "micro_step": -1 + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 125, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "AddThree_0", + "name": "N___AddThree_0", + "nodeType": 0, + "matchedNodeLink": [ + "B___AddThree_0" + ], + "precisionIndex": 0.5, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "N___arg0_1_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": { + "communications_type": "send", + "nodes_info": { + "0": [ + "0.3", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "1": [ + "Nan", + "Tensor.__api__0.forward" + ], + "2": [ + "0.3", + "arg0_1_0" + ], + "3": [ + "0.3", + "arg0_1_0" + ], + "4": [ + "0.3", + "arg0_1_0" + ] + } + } + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 50, + "width": 226, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "N___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "nodeType": 9, + "matchedNodeLink": [ + "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "precisionIndex": "NaN", + "overflowLevel": "medium", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 75, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "N___Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "nodeType": 8, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 100, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "N___output_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + }, + { + "case_id": "5", + "description": "测试选择展开多图NPU节点", + "input": { + "node_name": "add_1", + "graph_type": "NPU", + "graph": {}, + "micro_step": -1 + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 220, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "AddThree_0", + "name": "N___AddThree_0", + "nodeType": 0, + "matchedNodeLink": [ + "B___AddThree_0" + ], + "precisionIndex": 0.5, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "N___arg0_1_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": { + "communications_type": "send", + "nodes_info": { + "0": [ + "0.3", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "1": [ + "Nan", + "Tensor.__api__0.forward" + ], + "2": [ + "0.3", + "arg0_1_0" + ], + "3": [ + "0.3", + "arg0_1_0" + ], + "4": [ + "0.3", + "arg0_1_0" + ] + } + } + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 50, + "width": 226, + "height": 110, + "expand": true, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "N___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "nodeType": 9, + "matchedNodeLink": [ + "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "precisionIndex": "NaN", + "overflowLevel": "medium", + "matchedDistributed": {} + }, + "AddOne_0": { + "x": 164, + "y": 75, + "width": 58, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "label": "AddOne_0", + "name": "N___AddOne_0", + "nodeType": 0, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "AddOne_1": { + "x": 135, + "y": 100, + "width": 115, + "height": 50, + "expand": true, + "isRoot": false, + "parentNode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "label": "AddOne_1", + "name": "N___AddOne_1", + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": 0.8, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "add_1": { + "x": 140, + "y": 125, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddOne_1", + "label": "add_1", + "name": "N___add_1", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "add_4": { + "x": 195, + "y": 125, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddOne_1", + "label": "add_4", + "name": "N___add_4", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 170, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "N___Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "nodeType": 8, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 195, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "N___output_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + }, + { + "case_id": 6, + "description": "测试展开单图子节点", + "input": { + "node_name": "Apis_Between_Modules.0", + "graph_type": "Single", + "graph": {}, + "micro_step": -1 + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 185, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "AddThree_0", + "name": "AddThree_0", + "nodeType": 0, + "matchedNodeLink": [ + "B___AddThree_0" + ], + "precisionIndex": 0.5, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "arg0_1_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Apis_Between_Modules.0": { + "x": 80, + "y": 50, + "width": 225, + "height": 50, + "expand": true, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Apis_Between_Modules.0", + "name": "Apis_Between_Modules.0", + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__0.forward": { + "x": 85, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__0.forward", + "name": "Tensor.__api__0.forward", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__1.forward": { + "x": 140, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__1.forward", + "name": "Tensor.__api__1.forward", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__2.forward": { + "x": 195, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__2.forward", + "name": "Tensor.__api__2.forward", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__3.forward": { + "x": 250, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__3.forward", + "name": "Tensor.__api__3.forward", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 110, + "width": 226, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "medium", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 135, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "nodeType": 0, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 160, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "output_0", + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_compare_statis_graph.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_compare_statis_graph.vis new file mode 100644 index 0000000000000000000000000000000000000000..410cc2fc94a03caf3aaa879a3cf5bb9b5f49738f --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_compare_statis_graph.vis @@ -0,0 +1,945 @@ +{ + "ToolTip": "{\"shape\": \"\\u6570\"}", + "NPU": { + "edge": [], + "node": { + "AddOne_0": { + "matched_node_link": [], + "data": {}, + "id": "AddOne_0", + "inputs": [], + "input_data": { + "AddOne_0.input_arg.0": { + "type": "torch.Tensor", + "dtype": "", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "AddOne_0.input_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "AddOne_0.1": {}, + "AddOne_0.2": {} + }, + "output_data": { + "AddOne_0.output_arg.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "AddOne_0.output_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "AddOne_0.1": {}, + "AddOne_0.2": {} + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "pair": "None", + "subnodes": [ + "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee", + "add_51111" + ], + "type": "AddOne", + "upnode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + }, + "AddOne_1": { + "matched_node_link": [], + "data": { + "precision_index": 0.8 + }, + "id": "AddOne_1", + "inputs": [], + "input_data": { + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.input_arg.0": { + "data_name": "-10", + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406", + "error_key": [ + "type", + "shape" + ] + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 9, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "add_1", + "add_4" + ], + "type": "AddOne", + "upnode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "matched_node_link": [], + "data": { + "precision_index": 0 + }, + "id": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "inputs": [], + "is_forward": true, + "node_type": 8, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "add_2" + ], + "type": "AddOne", + "upnode": "AddThree_0", + "micro_step_id": "3" + }, + "AddThree_0": { + "matched_node_link": [ + "B___AddThree_0" + ], + "data": { + "precision_index": 0.5 + }, + "id": "AddThree_0", + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "arg0_1_0", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "output_0" + ], + "type": "AddThree", + "upnode": "None" + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "matched_node_link": [ + "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "data": { + "precision_status": false, + "Host Self Duration(us)": 56.24, + "Host Total Duration(us)": 56.24, + "Device Self Duration(us)": 0, + "Device Total Duration(us)": 0, + "overflow_level": "medium" + }, + "id": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "inputs": [], + "input_data": { + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.input_arg.0": { + "data_name": "-10", + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406", + "error_key": [ + "type", + "shape" + ] + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 9, + "outputs": [], + "output_data": { + "output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 128, + 512, + 2, + 2 + ], + "Max": "538.2343242", + "Min": "-234.124124234", + "Mean": "-510.23432654", + "Norm": "3555.3406" + }, + "output.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 16, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "pair": "None", + "subnodes": [ + "AddOne_0", + "AddOne_1" + ], + "suggestions": { + "text": "test ptdbg工具 with longlong tenm tensldjta te alsejtka gaew jtljae tet jsdklfj.", + "ptdbg工具": "https://gitee.com/ascend/att/tree/master/debug/accuracy_tools/ptdbg_ascend" + }, + "stack_info": [ + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)", + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)", + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)" + ], + "type": "AddTwo", + "upnode": "AddThree_0", + "micro_step_id": "0" + }, + "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee": { + "matched_node_link": [ + "B___AddThree_0", + "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "B___AddOne_0", + "B___Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee" + ], + "data": { + "precision_index": 0.35 + }, + "id": "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee", + "inputs": [], + "input_data": { + "input_arg.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "input_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "input_arg.2": "None" + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": { + "output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 128, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "output.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 16, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "pair": "None", + "subnodes": [], + "type": "addlongtingmelasidngkonklajelkjsakljgskadtest", + "upnode": "AddOne_0" + }, + "add_51111": { + "matched_node_link": [], + "data": { + "precision_status": true, + "precision_index": 1, + "md5 Compare Result": "Pass" + }, + "id": "add_51111", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 1, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_0" + }, + "add_1": { + "matched_node_link": [], + "data": { + "precision_status": false, + "precision_index": 0, + "md5 Compare Result": "Pass" + }, + "id": "add_1", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_1" + }, + "add_4": { + "matched_node_link": [], + "data": {}, + "id": "add_4", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_1" + }, + "add_2": { + "matched_node_link": [], + "data": {}, + "id": "add_2", + "inputs": [], + "input_data": { + "add_2.input_arg.0": { + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "6408.2343242", + "Min": "-3134.124124234", + "Mean": "-501.23432654", + "Norm": "3555.3406", + "error_key": [ + "type", + "shape" + ] + }, + "add_2.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee" + }, + "arg0_1_0": { + "matched_node_link": [], + "data": {}, + "id": "arg0_1_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "arg0_1", + "upnode": "AddThree_0", + "micro_step_id": "2", + "suggestions": { + "text": "test ptdbg工" + }, + "stack_info": [ + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)" + ], + "matched_distributed": { + "communications_type": "send", + "nodes_info": { + "0": [ + "0.3", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + ], + "1": [ + "Nan", + "Tensor.__api__0.forward" + ], + "2": [ + "0.3", + "arg0_1_0" + ], + "3": [ + "0.3", + "arg0_1_0" + ], + "4": [ + "0.3", + "arg0_1_0" + ] + } + } + }, + "output_0": { + "matched_node_link": [], + "data": {}, + "id": "output_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "output", + "upnode": "AddThree_0", + "micro_step_id": "3" + } + }, + "root": "AddThree_0" + }, + "Bench": { + "edge": [], + "node": { + "AddOne_0": { + "matched_node_link": [], + "data": {}, + "id": "AddOne_0", + "inputs": [], + "input_data": { + "AddOne_0.input_arg.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "AddOne_0.input_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "output_data": { + "AddOne_0.output_arg.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "AddOne_0.output_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "pair": "None", + "subnodes": [ + "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee" + ], + "type": "AddOne", + "upnode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + }, + "AddOne_1": { + "matched_node_link": [], + "data": {}, + "id": "AddOne_1", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "add_1" + ], + "type": "AddOne", + "upnode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "matched_node_link": [], + "data": {}, + "id": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "add_2" + ], + "type": "AddOne", + "upnode": "AddThree_0" + }, + "AddThree_0": { + "matched_node_link": [ + "N___AddThree_0" + ], + "data": {}, + "id": "AddThree_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "arg0_1_0", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "output_0" + ], + "type": "AddThree", + "upnode": "root" + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "matched_node_link": [], + "data": {}, + "id": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "inputs": [], + "input_data": { + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.input_arg.0": { + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "548.2343242", + "Min": "-234.124124234", + "Mean": "-5.23432654", + "Norm": "35555.3406", + "error_key": [ + "type", + "shape" + ] + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": { + "output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 128, + 512, + 2, + 2 + ], + "Max": "5038.2343242", + "Min": "-1234.124124234", + "Mean": "-410.23432654", + "Norm": "3255.3406" + }, + "output.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 16, + 256, + 2, + 2 + ], + "Max": "538.2343242", + "Min": "-234.124124234", + "Mean": "-51.23432654", + "Norm": "35555.3406" + } + }, + "pair": "None", + "subnodes": [ + "AddOne_0", + "AddOne_1" + ], + "type": "AddTwo", + "upnode": "AddThree_0" + }, + "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee": { + "matched_node_link": [ + "N___AddThree_0", + "N___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "N___AddOne_0", + "N___Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee" + ], + "data": {}, + "id": "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee", + "inputs": [], + "input_data": { + "input_arg.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "input_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 1, + "outputs": [], + "output_data": { + "output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 128, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "output.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 16, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_0" + }, + "add_1": { + "matched_node_link": [], + "data": {}, + "id": "add_1", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 1, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_1" + }, + "add_2": { + "matched_node_link": [], + "data": {}, + "id": "add_2", + "inputs": [], + "input_data": { + "add_2.input_arg.0": { + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "548.2343242", + "Min": "-234.124124234", + "Mean": "-5.23432654", + "Norm": "35555.3406", + "error_key": [ + "type", + "shape" + ] + }, + "add_2.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 1, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee" + }, + "arg0_1_0": { + "matched_node_link": [], + "data": {}, + "id": "arg0_1_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 1, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "arg0_1", + "upnode": "AddThree_0" + }, + "output_0": { + "matched_node_link": [], + "data": {}, + "id": "output_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 1, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "output", + "upnode": "AddThree_0" + } + }, + "root": "AddThree_0" + }, + "Colors": { + "#FFFCF3": { + "value": [ + 0, + 0.2 + ], + "description": "此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FFEDBE": { + "value": [ + 0.2, + 0.4 + ], + "description": "此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FFDC7F": { + "value": [ + 0.4, + 0.6 + ], + "description": "此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#FFC62E": { + "value": [ + 0.6, + 0.8 + ], + "description": "此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#ff704d": { + "value": [ + 0.8, + 1 + ], + "description": "此节点所有输入输出的统计量相对误差,值越大代表测量值与标杆值的偏差越大,相对误差计算方式:|(测量值-标杆值)/标杆值|" + }, + "#C7C7C7": { + "value": "无匹配节点", + "description": "对比过程中节点未匹配上" + } + }, + "MicroSteps": 5, + "task": "summary", + "match": [], + "OverflowCheck": true, + "npu_match_nodes": {}, + "bench_match_nodes": {} +} \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_single_statis_graph.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_single_statis_graph.vis new file mode 100644 index 0000000000000000000000000000000000000000..323db0b2a3612df605e1203f1d04173f5102a444 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_single_statis_graph.vis @@ -0,0 +1,523 @@ +{ + "ToolTip": "{\"OneTwoThree\": \"\\u6570\"}", + + "node": { + "AddOne_0": { + "matched_node_link": [], + "data": { + "precision_index": 1 + }, + "id": "AddOne_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee", + "add_5" + ], + "type": "AddOne", + "upnode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + }, + "AddOne_1": { + "matched_node_link": [], + "data": { + "precision_index": 0.8 + }, + "id": "AddOne_1", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 9, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "add_1", + "add_4" + ], + "type": "AddOne", + "upnode": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee" + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "matched_node_link": [], + "data": { + "precision_index": 0 + }, + "id": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "add_2" + ], + "type": "AddOne", + "upnode": "AddThree_0", + "micro_step_id": "3" + }, + "Apis_Between_Modules.0": { + "matched_node_link": [], + "data": {}, + "id": "Apis_Between_Modules.0", + "inputs": [], + "input_data": {}, + "node_type": 9, + "outputs": [], + "output_data": {}, + "subnodes": [ + "Tensor.__api__0.forward", + "Tensor.__api__1.forward", + "Tensor.__api__2.forward", + "Tensor.__api__3.forward", + "Tensor.__api__4.forward", + "Tensor.__api__5.forward", + "Tensor.__api__6.forward", + "Tensor.__api__7.forward", + "Tensor.__api__8.forward", + "Tensor.__api__9.forward", + "api__10", + "Tensor.__api__11.forward", + "Tensor.__api__12.forward", + "Tensor.__api__13.forward", + "Tensor.__api__14.forward", + "Tensor.__api__15.forward", + "Tensor.__api__16.forward", + "api__17", + "Tensor.__api__18.forward", + "Tensor.__api__19.forward", + "Tensor.__api__20.forward", + "Tensor.__apis__0.forward", + "Tensor.__apis__1.forward", + "Tensor.__apis__2.forward", + "Tensor.__apis__3.forward", + "Tensor.__apis__4.forward", + "Tensor.__apis__5.forward", + "Tensor.__apis__6.forward", + "Tensor.__apis__7.forward", + "Tensor.__apis__8.forward", + "Tensor.__apis__9.forward", + "apis__10", + "Tensor.__apis__11.forward", + "Tensor.__apis__12.forward", + "Tensor.__apis__13.forward", + "Tensor.__apis__14.forward", + "Tensor.__apis__15.forward", + "Tensor.__apis__16.forward", + "apis__17", + "Tensor.__apis__18.forward", + "Tensor.__apis__19.forward", + "Tensor.__apis__20.forward" + ], + "upnode": "AddThree_0", + "micro_step_id": "3" + }, + "Tensor.__api__0.forward": { + "matched_node_link": [], + "id": "Tensor.__api__0.forward", + "inputs": [], + "input_data": {}, + "node_type": 1, + "outputs": [], + "output_data": {}, + "subnodes": [], + "upnode": "Apis_Between_Modules.0" + }, + "Tensor.__api__1.forward": { + "matched_node_link": [], + "id": "Tensor.__api__1.forward", + "inputs": [], + "input_data": {}, + "node_type": 1, + "outputs": [], + "output_data": {}, + "subnodes": [], + "upnode": "Apis_Between_Modules.0" + }, + "Tensor.__api__2.forward": { + "matched_node_link": [], + "id": "Tensor.__api__2.forward", + "inputs": [], + "input_data": {}, + "node_type": 1, + "outputs": [], + "output_data": {}, + "subnodes": [], + "upnode": "Apis_Between_Modules.0" + }, + "Tensor.__api__3.forward": { + "matched_node_link": [], + "id": "Tensor.__api__3.forward", + "inputs": [], + "input_data": {}, + "node_type": 1, + "outputs": [], + "output_data": {}, + "subnodes": [], + "upnode": "Apis_Between_Modules.0" + }, + "AddThree_0": { + "matched_node_link": [ + "B___AddThree_0" + ], + "data": { + "precision_index": 0.5 + }, + "id": "AddThree_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [ + "arg0_1_0", + "Apis_Between_Modules.0", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "output_0" + ], + "type": "AddThree", + "upnode": "None" + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "matched_node_link": [], + "data": { + "precision_status": false, + "Host Self Duration(us)": 56.24, + "Host Total Duration(us)": 56.24, + "Device Self Duration(us)": 0, + "Device Total Duration(us)": 0, + "overflow_level": "medium" + }, + "id": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "inputs": [], + "input_data": { + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.input_arg.0": { + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensorzhishihsihsaoidfhisjdflksjdflkjsklgjskldjfkls阿斯利康大姐夫克里斯丁剪发卡老大说发了跨境电商付了款大", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406", + "error_key": [ + "type", + "shape" + ] + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "is_forward": true, + "node_type": 9, + "outputs": [], + "output_data": { + "output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 128, + 512, + 2, + 2 + ], + "Max": "538.2343242", + "Min": "-234.124124234", + "Mean": "-510.23432654", + "Norm": "3555.3406" + }, + "output.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 16, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "pair": "None", + "subnodes": [ + "AddOne_0", + "AddOne_1" + ], + "suggestions": { + "text": "test ptdbg工具 with longlong tenm tensldjta te alsejtka gaew jtljae tet jsdklfj.", + "ptdbg工具": "https://gitee.com/ascend/att/tree/master/debug/accuracy_tools/ptdbg_ascend" + }, + "stack_info": [ + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)", + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)", + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)" + ], + "type": "AddTwo", + "upnode": "AddThree_0", + "micro_step_id": "0" + }, + "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee": { + "matched_node_link": [ + "B___AddThree_0", + "B___Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "B___AddOne_0", + "B___Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee" + ], + "data": { + "precision_index": 0.35 + }, + "id": "Test.add_0_withlonglonglonglonglonglonglonglongname.tt.ee", + "inputs": [], + "input_data": { + "input_arg.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 32, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "input_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "input_arg.2": "None" + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": { + "output.0": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 128, + 512, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + }, + "output.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 16, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406" + } + }, + "pair": "None", + "subnodes": [], + "type": "addlongtingmelasidngkonklajelkjsakljgskadtest", + "upnode": "AddOne_0" + }, + "add_5": { + "matched_node_link": [], + "data": { + "precision_status": true, + "precision_index": 1, + "md5 Compare Result": "Pass" + }, + "id": "add_5", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_0" + }, + "add_1": { + "matched_node_link": [], + "data": { + "precision_status": false, + "precision_index": 0, + "md5 Compare Result": "Pass" + }, + "id": "add_1", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_1" + }, + "add_4": { + "matched_node_link": [], + "data": {}, + "id": "add_4", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "AddOne_1" + }, + "add_2": { + "matched_node_link": [ + "add_2" + ], + "data": { + "precision_index": 9475.908623767291 + }, + "id": "add_2", + "inputs": [], + "input_data": { + "add_2.input_arg.0": { + "longlonglonglonglonglongName": "hah", + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": "[32, 512, 2, 2]", + "Max": "6408.2343242", + "Min": "-3134.124124234", + "Mean": "-501.23432654", + "Norm": "3555.3406", + "error_key": [ + "type", + "shape" + ], + "Max diff": 5860, + "Min diff": -2900, + "Mean diff": -496, + "L2norm diff": -32000.000000000004, + "MaxRelativeErr": "1068.886011%", + "MinRelativeErr": "1238.659198%", + "MeanRelativeErr": "9475.908624%", + "NormRelativeErr": "90.000544%" + }, + "add_2.kwrag_arg.1": { + "type": "torch.Tensor", + "dtype": "torch.float32", + "shape": [ + 64, + 256, + 2, + 2 + ], + "Max": "5348.2343242", + "Min": "-2344.124124234", + "Mean": "-51.23432654", + "Norm": "355555.3406", + "Max diff": 0, + "Min diff": 0, + "Mean diff": 0, + "L2norm diff": 0, + "MaxRelativeErr": "0.000000%", + "MinRelativeErr": "0.000000%", + "MeanRelativeErr": "0.000000%", + "NormRelativeErr": "0.000000%" + } + }, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "add", + "upnode": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee" + }, + "arg0_1_0": { + "matched_node_link": [], + "data": {}, + "id": "arg0_1_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "arg0_1", + "upnode": "AddThree_0", + "micro_step_id": "2", + "suggestions": { + "text": "test ptdbg工" + }, + "stack_info": [ + "File /home/w3000/xxxx/subnodes/sdd/adad/srit-sda/artar/prased, line 136. om het, \n dada = rtens/sda.ddd(asdw)" + ] + }, + "output_0": { + "matched_node_link": [], + "data": {}, + "id": "output_0", + "inputs": [], + "input_data": {}, + "is_forward": true, + "node_type": 0, + "outputs": [], + "output_data": {}, + "pair": "None", + "subnodes": [], + "type": "output", + "upnode": "AddThree_0", + "micro_step_id": "3" + } + }, + "root": "AddThree_0", + "MicroSteps": 5, + "task": "summary" +} diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/update_hierarchy_data_case.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/update_hierarchy_data_case.json new file mode 100644 index 0000000000000000000000000000000000000000..1aba4c270fd50febeec93518b7c833a1e62b69c5 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/update_hierarchy_data_case.json @@ -0,0 +1,245 @@ +[ + { + "case_id": "1", + "description": "测试无效graph type", + "input": { + "graph_type": "invaild" + }, + "expected": {} + }, + { + "case_id": "2", + "description": "测试单图", + "input": { + "graph_type": "Single" + }, + "expected": { + "AddThree_0": { + "x": 0, + "y": 0, + "width": 386, + "height": 185, + "expand": true, + "isRoot": true, + "parentNode": "None", + "label": "AddThree_0", + "name": "AddThree_0", + "children": [ + "arg0_1_0", + "Apis_Between_Modules.0", + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "output_0" + ], + "nodeType": 0, + "matchedNodeLink": [ + "B___AddThree_0" + ], + "precisionIndex": 0.5, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "arg0_1_0": { + "x": 168, + "y": 25, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "arg0_1_0", + "name": "arg0_1_0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Apis_Between_Modules.0": { + "x": 80, + "y": 50, + "width": 225, + "height": 50, + "expand": true, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Apis_Between_Modules.0", + "name": "Apis_Between_Modules.0", + "children": [ + "Tensor.__api__0.forward", + "Tensor.__api__1.forward", + "Tensor.__api__2.forward", + "Tensor.__api__3.forward", + "Tensor.__api__4.forward", + "Tensor.__api__5.forward", + "Tensor.__api__6.forward", + "Tensor.__api__7.forward", + "Tensor.__api__8.forward", + "Tensor.__api__9.forward", + "api__10", + "Tensor.__api__11.forward", + "Tensor.__api__12.forward", + "Tensor.__api__13.forward", + "Tensor.__api__14.forward", + "Tensor.__api__15.forward", + "Tensor.__api__16.forward", + "api__17", + "Tensor.__api__18.forward", + "Tensor.__api__19.forward", + "Tensor.__api__20.forward", + "Tensor.__apis__0.forward", + "Tensor.__apis__1.forward", + "Tensor.__apis__2.forward", + "Tensor.__apis__3.forward", + "Tensor.__apis__4.forward", + "Tensor.__apis__5.forward", + "Tensor.__apis__6.forward", + "Tensor.__apis__7.forward", + "Tensor.__apis__8.forward", + "Tensor.__apis__9.forward", + "apis__10", + "Tensor.__apis__11.forward", + "Tensor.__apis__12.forward", + "Tensor.__apis__13.forward", + "Tensor.__apis__14.forward", + "Tensor.__apis__15.forward", + "Tensor.__apis__16.forward", + "apis__17", + "Tensor.__apis__18.forward", + "Tensor.__apis__19.forward", + "Tensor.__apis__20.forward" + ], + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__0.forward": { + "x": 85, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__0.forward", + "name": "Tensor.__api__0.forward", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__1.forward": { + "x": 140, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__1.forward", + "name": "Tensor.__api__1.forward", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__2.forward": { + "x": 195, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__2.forward", + "name": "Tensor.__api__2.forward", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Tensor.__api__3.forward": { + "x": 250, + "y": 75, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "Apis_Between_Modules.0", + "label": "__api__3.forward", + "name": "Tensor.__api__3.forward", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "Test.maxpoolMaxPool2.maxpoolpo.tt.ee": { + "x": 80, + "y": 110, + "width": 226, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "name": "Test.maxpoolMaxPool2.maxpoolpo.tt.ee", + "children": [ + "AddOne_0", + "AddOne_1" + ], + "nodeType": 9, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "medium", + "matchedDistributed": {} + }, + "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee": { + "x": 5, + "y": 135, + "width": 376, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "name": "Test.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.tt.ee", + "children": [ + "add_2" + ], + "nodeType": 0, + "matchedNodeLink": [], + "precisionIndex": 0, + "overflowLevel": "NaN", + "matchedDistributed": {} + }, + "output_0": { + "x": 168, + "y": 160, + "width": 50, + "height": 15, + "expand": false, + "isRoot": false, + "parentNode": "AddThree_0", + "label": "output_0", + "name": "output_0", + "children": [], + "nodeType": 1, + "matchedNodeLink": [], + "precisionIndex": "NaN", + "overflowLevel": "NaN", + "matchedDistributed": {} + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_case.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_case.json new file mode 100644 index 0000000000000000000000000000000000000000..5590aca0510817a864fda18dd58b620dd5bf23c8 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_case.json @@ -0,0 +1,386 @@ +[ + { + "case_id": 1, + "description": "测试无效任务类型", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + } + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "invalid_task" + }, + "expected": { + "success": false, + "error": "task类型错误" + } + }, + { + "case_id": 2, + "description": "测试MD5任务匹配成功", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "matched_node_link": [], + "data": {}, + "input_data": { + "input_arg0": { + "md5": "1234567890abcdef" + }, + "input_arg1": { + "md5": "abcdef1234567890" + }, + "output_data": { + "output_arg0": { + "md5": "abcdef1234567890" + }, + "output_arg1": { + "md5": "1234567890abcdef" + } + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "matched_node_link": [], + "input_data": { + "input_arg0": { + "md5": "1234567890abcdef" + }, + "input_arg1": { + "md5": "abcdef1234567890" + }, + "output_data": { + "output_arg0": { + "md5": "1234567890abcdef" + }, + "output_arg1": { + "md5": "1234567890abcdef" + } + } + } + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": true + } + }, + { + "case_id": 3, + "description": "测试MD5任务添加失败(节点数据缺失)", + "input": { + "graph_data": { + "NPU": { + "node": {} + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + } + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": false, + "error": "节点类型不一致,无法添加匹配关系" + } + }, + { + "case_id": 4, + "description": "summary任务匹配", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node_summary": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + }, + "input2": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + } + }, + "output_data": { + "output1": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + }, + "output2": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + } + }, + "matched_node_link": [] + } + } + }, + "Bench": { + "node": { + "bench_node_summary": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + }, + "input2": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + } + }, + "output_data": { + "output1": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + }, + "output2": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + } + }, + "matched_node_link": [] + } + } + } + }, + "npu_node_name": "npu_node_summary", + "bench_node_name": "bench_node_summary", + "task": "summary" + }, + "expected": { + "success": true + } + }, + { + "case_id": 5, + "description": "测试SUMMARY任务添加失败(输入输出数据异常)", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": {}, + "output_data": { + "output1": { + "Max": "1.0" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0" + } + }, + "output_data": {} + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "summary" + }, + "expected": { + "success": false, + "error": "输入或输出统计误差值为空(Input and output statistical error calculation failed)" + } + }, + { + "case_id": 6, + "description": "测试SUMMARY任务添加失败(精度计算异常)", + "type": "process_task_add", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0" + } + }, + "output_data": { + "output1": { + "Max": "invalid_value" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0" + } + }, + "output_data": { + "output1": { + "Max": "1.0" + } + } + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "summary" + }, + "expected": { + "success": false, + "error": "输出统计误差值为空,计算精度误差失败(Calculation of precision error failed)" + } + }, + { + "case_id": 7, + "description": "测试SUMMARY任务添加成功(避免除零错误)", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1", + "Norm": "0.5", + "Mean": "0.5" + } + }, + "output_data": { + "output1": { + "Max": "0.0", + "Min": "0.0", + "Norm": "0.0", + "Mean": "0.0" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1", + "Norm": "0.5", + "Mean": "0.5" + } + }, + "output_data": { + "output1": { + "Max": "0.0", + "Min": "0.0", + "Norm": "0.0", + "Mean": "0.0" + } + } + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "summary" + }, + "expected": { + "success": true + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer.json new file mode 100644 index 0000000000000000000000000000000000000000..d03b9fd26704b4d0688a6f0cfca813c6671dc65e --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer.json @@ -0,0 +1,469 @@ +[ + { + "case_id": 1, + "description": "测试参数不全", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "subnodes": [ + "npu_child1" + ] + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "subnodes": [ + "bench_child1" + ] + } + } + } + }, + "npu_node_name": "", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": false, + "error": "参数错误" + } + }, + { + "case_id": 2, + "description": "测试节点类型不一致", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "subnodes": [ + "npu_child1" + ] + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "API", + "subnodes": [ + "bench_child1" + ] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": false, + "error": "节点类型不一致,无法添加匹配关系" + } + }, + { + "case_id": 3, + "description": "测试无子节点", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + }, + "subnodes": [] + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + }, + "subnodes": [] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": { + "npu_node": "bench_node" + }, + "benchMatchNodes": { + "bench_node": "npu_node" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 4, + "description": "测试多层递归子节点匹配(符合命名规则)", + "type": "process_task_add_child_layer", + "input": { + "graph_data": { + "NPU": { + "node": { + "model.npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + }, + "subnodes": [ + "model.layer1.npu_child_module", + "model.layer1.npu_child_api" + ] + }, + "model.layer1.npu_child_module": { + "node_type": "Module", + "matched_node_link": [], + "subnodes": [ + "model.layer1.sub.npu_grandchild_module", + "model.layer1.sub.npu_grandchild_api" + ] + }, + "model.layer1.npu_child_api": { + "node_type": "API", + "matched_node_link": [] + }, + "model.layer1.sub.npu_grandchild_module": { + "node_type": "Module", + "matched_node_link": [] + }, + "model.layer1.sub.npu_grandchild_api": { + "node_type": "API", + "matched_node_link": [] + } + } + }, + "Bench": { + "node": { + "model.bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + }, + "subnodes": [ + "model.layer1.bench_child_module", + "model.layer1.bench_child_api" + ] + }, + "model.layer1.bench_child_module": { + "node_type": "Module", + "matched_node_link": [], + "subnodes": [ + "model.layer1.sub.bench_grandchild_module", + "model.layer1.sub.bench_grandchild_api" + ] + }, + "model.layer1.bench_child_api": { + "node_type": "API", + "matched_node_link": [] + }, + "model.layer1.sub.bench_grandchild_module": { + "node_type": "Module", + "matched_node_link": [] + }, + "model.layer1.sub.bench_grandchild_api": { + "node_type": "API", + "matched_node_link": [] + } + } + } + }, + "npu_node_name": "model.npu_node", + "bench_node_name": "model.bench_node", + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": { + "model.npu_node": "model.bench_node", + "model.layer1.npu_child_api": "model.layer1.bench_child_api", + "model.layer1.npu_child_module": "model.layer1.bench_child_module", + "model.layer1.sub.npu_grandchild_api": "model.layer1.sub.bench_grandchild_api", + "model.layer1.sub.npu_grandchild_module": "model.layer1.sub.bench_grandchild_module" + }, + "benchMatchNodes": { + "model.bench_node": "model.npu_node", + "model.layer1.bench_child_api": "model.layer1.npu_child_api", + "model.layer1.bench_child_module": "model.layer1.npu_child_module", + "model.layer1.sub.bench_grandchild_api": "model.layer1.sub.npu_grandchild_api", + "model.layer1.sub.bench_grandchild_module": "model.layer1.sub.npu_grandchild_module" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 5, + "description": "测试部分子节点匹配(不符合命名规则)", + "type": "process_task_add_child_layer", + "input": { + "graph_data": { + "NPU": { + "node": { + "model.npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + }, + "subnodes": [ + "model.layer1.sub.npu_child1", + "model.layer1.npu_short_child" + ] + }, + "model.layer1.sub.npu_child1": { + "node_type": "Module", + "matched_node_link": [] + }, + "model.layer1.npu_short_child": { + "node_type": "API", + "matched_node_link": [] + } + } + }, + "Bench": { + "node": { + "model.bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abcd1234" + } + }, + "output_data": { + "output1": { + "md5": "efgh5678" + } + }, + "subnodes": [ + "model.layer1.sub.bench_child1" + ] + }, + "model.layer1.sub.bench_child1": { + "node_type": "Module", + "matched_node_link": [] + } + } + } + }, + "npu_node_name": "model.npu_node", + "bench_node_name": "model.bench_node", + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": { + "model.npu_node": "model.bench_node", + "model.layer1.sub.npu_child1": "model.layer1.sub.bench_child1" + }, + "benchMatchNodes": { + "model.bench_node": "model.npu_node", + "model.layer1.sub.bench_child1": "model.layer1.sub.npu_child1" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 6, + "description": "测试SUMMARY任务类型递归(符合命名规则)", + "input": { + "graph_data": { + "NPU": { + "node": { + "model.npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "output_data": { + "output1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "subnodes": [ + "model.layer1.sub.npu_child" + ] + }, + "model.layer1.sub.npu_child": { + "node_type": "API", + "matched_node_link": [], + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "output_data": { + "output1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "subnodes": [ + "model.layer1.sub.deep.npu_grandchild" + ] + }, + "model.layer1.sub.deep.npu_grandchild": { + "node_type": "Module", + "matched_node_link": [], + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "output_data": { + "output1": { + "Max": "1.0", + "Min": "0.1" + } + } + } + } + }, + "Bench": { + "node": { + "model.bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "output_data": { + "output1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "subnodes": [ + "model.layer1.sub.bench_child" + ] + }, + "model.layer1.sub.bench_child": { + "node_type": "API", + "matched_node_link": [], + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "output_data": { + "output1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "subnodes": [ + "model.layer1.sub.deep.bench_grandchild" + ] + }, + "model.layer1.sub.deep.bench_grandchild": { + "node_type": "Module", + "matched_node_link": [], + "input_data": { + "input1": { + "Max": "1.0", + "Min": "0.1" + } + }, + "output_data": { + "output1": { + "Max": "1.0", + "Min": "0.1" + } + } + } + } + } + }, + "npu_node_name": "model.npu_node", + "bench_node_name": "model.bench_node", + "task": "summary" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": { + "model.npu_node": "model.bench_node", + "model.layer1.sub.npu_child": "model.layer1.sub.bench_child", + "model.layer1.sub.deep.npu_grandchild": "model.layer1.sub.deep.bench_grandchild" + }, + "benchMatchNodes": { + "model.bench_node": "model.npu_node", + "model.layer1.sub.bench_child": "model.layer1.sub.npu_child", + "model.layer1.sub.deep.bench_grandchild": "model.layer1.sub.deep.npu_grandchild" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer_by_config.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer_by_config.json new file mode 100644 index 0000000000000000000000000000000000000000..934d1b3b9649dd93f8c9038232582f21e1bad7c3 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer_by_config.json @@ -0,0 +1,448 @@ +[ + { + "case_id": 1, + "description": "批量添加成功 - 所有节点匹配成功", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node1": { + "node_type": "Module", + "input_data": { + "in1": { + "md5": "abc123" + } + }, + "output_data": { + "out1": { + "md5": "def456" + } + } + }, + "npu_node2": { + "node_type": "API", + "input_data": { + "in2": { + "md5": "ghij789" + } + }, + "output_data": { + "out2": { + "md5": "klm012" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node1": { + "node_type": "Module", + "input_data": { + "in1": { + "md5": "abc123" + } + }, + "output_data": { + "out1": { + "md5": "def456" + } + } + }, + "bench_node2": { + "node_type": "API", + "input_data": { + "in2": { + "md5": "ghij789" + } + }, + "output_data": { + "out2": { + "md5": "klm012" + } + } + } + } + } + }, + "match_node_links": { + "npu_node1": "bench_node1", + "npu_node2": "bench_node2" + }, + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "matchReslut": [ + true, + true + ], + "npuMatchNodes": { + "npu_node1": "bench_node1", + "npu_node2": "bench_node2" + }, + "benchMatchNodes": { + "bench_node1": "npu_node1", + "bench_node2": "npu_node2" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 2, + "description": "批量添加成功 - md值不同", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node1": { + "node_type": "Module", + "input_data": { + "in1": { + "md5": "abc123" + } + }, + "output_data": { + "out1": { + "md5": "def456" + } + } + }, + "npu_node2": { + "node_type": "API", + "input_data": { + "in2": { + "md5": "ghij789" + } + }, + "output_data": { + "out2": { + "md5": "klm012" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node1": { + "node_type": "Module", + "input_data": { + "in1": { + "md5": "abc123" + } + }, + "output_data": { + "out1": { + "md5": "def456" + } + } + }, + "bench_node2": { + "node_type": "API", + "input_data": { + "in2": { + "md5": "different" + } + }, + "output_data": { + "out2": { + "md5": "klm012" + } + } + } + } + } + }, + "match_node_links": { + "npu_node1": "bench_node1", + "npu_node2": "bench_node2" + }, + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "matchReslut": [ + true, + true + ], + "benchMatchNodes": { + "bench_node1": "npu_node1", + "bench_node2": "npu_node2" + }, + "npuMatchNodes": { + "npu_node1": "bench_node1", + "npu_node2": "bench_node2" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 3, + "description": "部分失败 - 节点不存在导致失败", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node1": { + "node_type": "Module", + "input_data": { + "in1": { + "Max": 1.0, + "Min": 0.1 + } + }, + "output_data": { + "out1": { + "Max": 2.0, + "Min": 0.2 + } + } + } + } + }, + "Bench": { + "node": { + "bench_node1": { + "node_type": "Module", + "input_data": { + "in1": { + "Max": 1.0, + "Min": 0.1 + } + }, + "output_data": { + "out1": { + "Max": 2.0, + "Min": 0.2 + } + } + }, + "bench_node2": { + "node_type": "API", + "input_data": { + "in2": { + "Max": 3.0, + "Min": 0.3 + } + }, + "output_data": { + "out2": { + "Max": 4.0, + "Min": 0.4 + } + } + } + } + } + }, + "match_node_links": { + "npu_node1": "bench_node1", + "invalid_node": "bench_node2", + "npu_node2": "invalid_node" + }, + "task": "summary" + }, + "expected": { + "success": true, + "data": { + "matchReslut": [ + true, + false, + false + ], + "npuMatchNodes": { + "npu_node1": "bench_node1" + }, + "benchMatchNodes": { + "bench_node1": "npu_node1" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 4, + "description": "统计计算失败 - 输入数据不匹配", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "in1": { + "Max": 1.0, + "Min": 0.1 + } + }, + "output_data": { + "out1": { + "Max": 2.0, + "Min": 0.2 + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": null, + "output_data": { + "out1": { + "Max": 2.0, + "Min": 0.2 + } + } + } + } + } + }, + "match_node_links": { + "npu_node": "bench_node" + }, + "task": "summary" + }, + "expected": { + "success": true, + "data": { + "matchReslut": [ + false + ], + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 5, + "description": "节点类型不匹配导致失败", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "in1": { + "md5": "abc123" + } + }, + "output_data": { + "out1": { + "md5": "def456" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "API", + "input_data": { + "in1": { + "md5": "abc123" + } + }, + "output_data": { + "out1": { + "md5": "def456" + } + } + } + } + } + }, + "match_node_links": { + "npu_node": "bench_node" + }, + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "matchReslut": [ + false + ], + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + }, + { + "case_id": 7, + "description": "计算精度错误 - 统计计算失败", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "in1": { + "Max": 1.0, + "Min": 0.1 + } + }, + "output_data": { + "out1": { + "Max": "invalid", + "Min": "value" + } + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "in1": { + "Max": 1.0, + "Min": 0.1 + } + }, + "output_data": { + "out1": { + "Max": 2.0, + "Min": 0.2 + } + } + } + } + } + }, + "match_node_links": { + "npu_node": "bench_node" + }, + "task": "summary" + }, + "expected": { + "success": true, + "data": { + "matchReslut": [ + false + ], + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + } + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_case.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_case.json new file mode 100644 index 0000000000000000000000000000000000000000..0a74fbdedc156dabc6974e037ae0b091bdf51099 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_case.json @@ -0,0 +1,238 @@ +[ + { + "case_id": 1, + "description": "测试无效任务类型", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "matched_node_link": [ + "bench_node" + ], + "data": { + "precision_index": 0.95 + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "matched_node_link": [ + "npu_node" + ] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "invalid_task" + }, + "expected": { + "success": false, + "error": "task类型错误" + } + }, + { + "case_id": 2, + "description": "测试MD5任务删除成功", + "config": { + "npuMatchNodes": { + "npu_node": "bench_node" + }, + "benchMatchNodes": { + "bench_node": "npu_node" + } + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "matched_node_link": [ + "bench_node" + ], + "data": { + "precision_index": 0.95 + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "matched_node_link": [ + "npu_node" + ] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": true, + "data": {} + } + }, + { + "case_id": 3, + "description": "测试MD5任务删除失败(节点未匹配)", + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "matched_node_link": [], + "data": { + "precision_index": 0.95 + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "matched_node_link": [] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "md5" + }, + "expected": { + "success": false, + "error": "操作失败:节点未匹配,请先匹配节点" + } + }, + { + "case_id": 4, + "description": "测试SUMMARY任务删除成功(节点已匹配)", + "config": { + "npuMatchNodes": { + "npu_node_summary": "bench_node_summary" + }, + "benchMatchNodes": { + "bench_node_summary": "npu_node_summary" + } + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node_summary": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7, + "MaxAbsErr": 0.1, + "MinAbsErr": 0.05, + "MeanAbsErr": 0.1, + "NormAbsErr": 0.1 + }, + "input2": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7, + "MaxAbsErr": 0.1, + "MinAbsErr": 0.05, + "MeanAbsErr": 0.1, + "NormAbsErr": 0.1 + } + }, + "output_data": { + "output1": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4, + "MaxAbsErr": 0.1, + "MinAbsErr": 0.05, + "MeanAbsErr": 0.1, + "NormAbsErr": 0.1 + }, + "output2": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4, + "MaxAbsErr": 0.1, + "MinAbsErr": 0.05, + "MeanAbsErr": 0.1, + "NormAbsErr": 0.1 + } + }, + "matched_node_link": [ + "bench_node_summary" + ], + "data": { + "precision_index": 0.95 + } + } + } + }, + "Bench": { + "node": { + "bench_node_summary": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + }, + "input2": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + } + }, + "output_data": { + "output1": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + }, + "output2": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + } + }, + "matched_node_link": [ + "npu_node_summary" + ] + } + } + } + }, + "npu_node_name": "npu_node_summary", + "bench_node_name": "bench_node_summary", + "task": "summary" + }, + "expected": { + "success": true, + "data": {} + } + } +] \ No newline at end of file diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_child_layer.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_child_layer.json new file mode 100644 index 0000000000000000000000000000000000000000..a595cd4c326b6c563d6e25798fcf1013b251c8a2 --- /dev/null +++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_child_layer.json @@ -0,0 +1,666 @@ +[ + { + "case_id": 1, + "description": "参数错误(缺少graph_data)", + "input": { + "graph_data": null, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "summary" + }, + "expected": { + "success": false, + "error": "参数错误" + } + }, + { + "case_id": 2, + "description": "节点未匹配(配置中无匹配关系)", + "config": { + "npuMatchNodes": {}, + "benchMatchNodes": {} + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "matched_node_link": [ + "bench_node" + ], + "data": { + "precision_index": 0.95 + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "matched_node_link": [ + "npu_node" + ] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "summary" + }, + "expected": { + "success": false, + "error": "操作失败:节点未匹配,请先匹配节点" + } + }, + { + "case_id": 3, + "description": "SUMMARY任务删除成功(无子节点)", + "config": { + "npuMatchNodes": { + "npu_node": "bench_node" + }, + "benchMatchNodes": { + "bench_node": "npu_node" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": 1.0, + "MaxAbsErr": 0.1 + } + }, + "output_data": { + "output1": { + "Max": 2.0, + "MaxAbsErr": 0.1 + } + }, + "matched_node_link": [ + "bench_node" + ], + "data": { + "precision_index": 0.95 + } + } + } + }, + "Bench": { + "node": { + "bench_node": { + "node_type": "Module", + "input_data": { + "input1": { + "Max": 1.0 + } + }, + "output_data": { + "output1": { + "Max": 2.0 + } + }, + "matched_node_link": [ + "npu_node" + ] + } + } + } + }, + "npu_node_name": "npu_node", + "bench_node_name": "bench_node", + "task": "summary" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [ + "npu_node" + ], + "benchUnMatchNodes": [ + "bench_node" + ] + } + } + }, + { + "case_id": 4, + "description": "SUMMARY任务递归删除子节点", + "config": { + "npuMatchNodes": { + "npu_parent": "bench_parent", + "npu_child1": "bench_child1", + "npu_child2": "bench_child2" + }, + "benchMatchNodes": { + "bench_parent": "npu_parent", + "bench_child1": "npu_child1", + "bench_child2": "npu_child2" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_parent": { + "node_type": "Module", + "subnodes": [ + "npu_child1", + "npu_child2" + ], + "input_data": { + "parent_input": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7, + "MaxAbsErr": 0.1, + "MinAbsErr": 0.05, + "MeanAbsErr": 0.1, + "NormAbsErr": 0.1 + } + }, + "output_data": { + "parent_output": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4, + "MaxAbsErr": 0.1, + "MinAbsErr": 0.05, + "MeanAbsErr": 0.1, + "NormAbsErr": 0.1 + } + }, + "matched_node_link": [ + "bench_parent" + ], + "data": { + "precision_index": 0.95 + } + }, + "npu_child1": { + "node_type": "Module", + "subnodes": [], + "input_data": { + "child1_input": { + "Max": 0.8, + "Min": 0.08, + "Mean": 0.4, + "Norm": 0.56, + "MaxAbsErr": 0.08, + "MinAbsErr": 0.04, + "MeanAbsErr": 0.08, + "NormAbsErr": 0.08 + } + }, + "output_data": { + "child1_output": { + "Max": 1.8, + "Min": 0.18, + "Mean": 0.9, + "Norm": 1.26, + "MaxAbsErr": 0.09, + "MinAbsErr": 0.045, + "MeanAbsErr": 0.09, + "NormAbsErr": 0.09 + } + }, + "matched_node_link": [ + "bench_child1" + ], + "data": { + "precision_index": 0.97 + } + }, + "npu_child2": { + "node_type": "Module", + "subnodes": [], + "input_data": { + "child2_input": { + "Max": 0.9, + "Min": 0.09, + "Mean": 0.45, + "Norm": 0.63, + "MaxAbsErr": 0.09, + "MinAbsErr": 0.045, + "MeanAbsErr": 0.09, + "NormAbsErr": 0.09 + } + }, + "output_data": { + "child2_output": { + "Max": 1.9, + "Min": 0.19, + "Mean": 0.95, + "Norm": 1.33, + "MaxAbsErr": 0.095, + "MinAbsErr": 0.0475, + "MeanAbsErr": 0.095, + "NormAbsErr": 0.095 + } + }, + "matched_node_link": [ + "bench_child2" + ], + "data": { + "precision_index": 0.96 + } + } + } + }, + "Bench": { + "node": { + "bench_parent": { + "node_type": "Module", + "subnodes": [ + "bench_child1", + "bench_child2" + ], + "input_data": { + "parent_input": { + "Max": 1.0, + "Min": 0.1, + "Mean": 0.5, + "Norm": 0.7 + } + }, + "output_data": { + "parent_output": { + "Max": 2.0, + "Min": 0.2, + "Mean": 1.0, + "Norm": 1.4 + } + }, + "matched_node_link": [ + "npu_parent" + ] + }, + "bench_child1": { + "node_type": "Module", + "subnodes": [], + "input_data": { + "child1_input": { + "Max": 0.8, + "Min": 0.08, + "Mean": 0.4, + "Norm": 0.56 + } + }, + "output_data": { + "child1_output": { + "Max": 1.8, + "Min": 0.18, + "Mean": 0.9, + "Norm": 1.26 + } + }, + "matched_node_link": [ + "npu_child1" + ] + }, + "bench_child2": { + "node_type": "Module", + "subnodes": [], + "input_data": { + "child2_input": { + "Max": 0.9, + "Min": 0.09, + "Mean": 0.45, + "Norm": 0.63 + } + }, + "output_data": { + "child2_output": { + "Max": 1.9, + "Min": 0.19, + "Mean": 0.95, + "Norm": 1.33 + } + }, + "matched_node_link": [ + "npu_child2" + ] + } + } + } + }, + "npu_node_name": "npu_parent", + "bench_node_name": "bench_parent", + "task": "summary" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [ + "npu_parent", + "npu_child1", + "npu_child2" + ], + "benchUnMatchNodes": [ + "bench_parent", + "bench_child1", + "bench_child2" + ] + } + } + }, + { + "case_id": 5, + "description": "MD5任务删除成功", + "config": { + "npuMatchNodes": { + "npu_node_md5": "bench_node_md5" + }, + "benchMatchNodes": { + "bench_node_md5": "npu_node_md5" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_node_md5": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abc123", + "shape": [ + 1, + 3, + 224, + 224 + ] + } + }, + "output_data": { + "output1": { + "md5": "def456", + "shape": [ + 1, + 1000 + ] + } + }, + "matched_node_link": [ + "bench_node_md5" + ], + "data": { + "precision_index": 1 + } + } + } + }, + "Bench": { + "node": { + "bench_node_md5": { + "node_type": "Module", + "input_data": { + "input1": { + "md5": "abc123", + "shape": [ + 1, + 3, + 224, + 224 + ] + } + }, + "output_data": { + "output1": { + "md5": "def456", + "shape": [ + 1, + 1000 + ] + } + }, + "matched_node_link": [ + "npu_node_md5" + ] + } + } + } + }, + "npu_node_name": "npu_node_md5", + "bench_node_name": "bench_node_md5", + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [ + "npu_node_md5" + ], + "benchUnMatchNodes": [ + "bench_node_md5" + ] + } + } + }, + { + "case_id": 6, + "description": "MD5任务递归删除多层子节点", + "config": { + "npuMatchNodes": { + "npu_parent": "bench_parent", + "npu_child": "bench_child", + "npu_grandchild": "bench_grandchild" + }, + "benchMatchNodes": { + "bench_parent": "npu_parent", + "bench_child": "npu_child", + "bench_grandchild": "npu_grandchild" + }, + "npuUnMatchNodes": [], + "benchUnMatchNodes": [] + }, + "input": { + "graph_data": { + "NPU": { + "node": { + "npu_parent": { + "node_type": "Module", + "subnodes": [ + "npu_child" + ], + "input_data": { + "parent_input": { + "md5": "parent_in", + "shape": [ + 10 + ] + } + }, + "output_data": { + "parent_output": { + "md5": "parent_out", + "shape": [ + 10 + ] + } + }, + "matched_node_link": [ + "bench_parent" + ], + "data": { + "precision_index": 1 + } + }, + "npu_child": { + "node_type": "Module", + "subnodes": [ + "npu_grandchild" + ], + "input_data": { + "child_input": { + "md5": "child_in", + "shape": [ + 20 + ] + } + }, + "output_data": { + "child_output": { + "md5": "child_out", + "shape": [ + 20 + ] + } + }, + "matched_node_link": [ + "bench_child" + ], + "data": { + "precision_index": 1 + } + }, + "npu_grandchild": { + "node_type": "API", + "subnodes": [], + "input_data": { + "grandchild_input": { + "md5": "grand_in", + "shape": [ + 30 + ] + } + }, + "output_data": { + "grandchild_output": { + "md5": "grand_out", + "shape": [ + 30 + ] + } + }, + "matched_node_link": [ + "bench_grandchild" + ], + "data": { + "precision_index": 1 + } + } + } + }, + "Bench": { + "node": { + "bench_parent": { + "node_type": "Module", + "subnodes": [ + "bench_child" + ], + "input_data": { + "parent_input": { + "md5": "parent_in", + "shape": [ + 10 + ] + } + }, + "output_data": { + "parent_output": { + "md5": "parent_out", + "shape": [ + 10 + ] + } + }, + "matched_node_link": [ + "npu_parent" + ] + }, + "bench_child": { + "node_type": "Module", + "subnodes": [ + "bench_grandchild" + ], + "input_data": { + "child_input": { + "md5": "child_in", + "shape": [ + 20 + ] + } + }, + "output_data": { + "child_output": { + "md5": "child_out", + "shape": [ + 20 + ] + } + }, + "matched_node_link": [ + "npu_child" + ] + }, + "bench_grandchild": { + "node_type": "API", + "subnodes": [], + "input_data": { + "grandchild_input": { + "md5": "grand_in", + "shape": [ + 30 + ] + } + }, + "output_data": { + "grandchild_output": { + "md5": "grand_out", + "shape": [ + 30 + ] + } + }, + "matched_node_link": [ + "npu_grandchild" + ] + } + } + } + }, + "npu_node_name": "npu_parent", + "bench_node_name": "bench_parent", + "task": "md5" + }, + "expected": { + "success": true, + "data": { + "npuMatchNodes": {}, + "benchMatchNodes": {}, + "npuUnMatchNodes": [ + "npu_parent", + "npu_child", + "npu_grandchild" + ], + "benchUnMatchNodes": [ + "bench_parent", + "bench_child", + "bench_grandchild" + ] + } + } + } +] \ No newline at end of file diff --git a/profiler/msprof_analyze/test/st/advisor/test_advisor_cmd_single_ascend_pt_db_compare.py b/profiler/msprof_analyze/test/st/advisor/test_advisor_cmd_single_ascend_pt_db_compare.py index f01e08ee7d33e637c68dbf57b25e146741690e30..85584502c9126873cddddec6b03546be38a277c0 100644 --- a/profiler/msprof_analyze/test/st/advisor/test_advisor_cmd_single_ascend_pt_db_compare.py +++ b/profiler/msprof_analyze/test/st/advisor/test_advisor_cmd_single_ascend_pt_db_compare.py @@ -1,321 +1,321 @@ -# Copyright (c) 2025, Huawei Technologies Co., Ltd. -# All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import os -import logging -from unittest import TestCase - -import math -import pandas as pd -from bs4 import BeautifulSoup -from msprof_analyze.advisor.interface.interface import Interface - -from msprof_analyze.advisor.analyzer.analyzer_controller import AnalyzerController - -from msprof_analyze.prof_common.path_manager import PathManager -from msprof_analyze.test.st.advisor.utils import get_files, execute_cmd -from msprof_analyze.test.st.utils import ST_DATA_PATH - - -class TestAdvisorCmdSingleAscendPtDBCompare(TestCase): - BASE_PROFILING_PATH = os.path.join(ST_DATA_PATH, "cluster_data_2_db", - "n122-120-121_12321_20240911113658382_ascend_pt") - COMPARISON_PROFILING_PATH = os.path.join(ST_DATA_PATH, "cluster_data_2_db", - "n122-120-121_12322_20240911113658370_ascend_pt") - OUTPUT_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), "TestAdvisorCmdSingleAscendPtDBCompare") - ALL_OUTPUT_PATH = os.path.join(OUTPUT_PATH, "all") - result_excel = {} - result_html = {} - COMMAND_SUCCESS = 0 - - def setup_class(self): - PathManager.make_dir_safety(self.ALL_OUTPUT_PATH) - cmd_all = ["msprof-analyze", "advisor", "all", "-d", self.BASE_PROFILING_PATH, "-bp", - self.COMPARISON_PROFILING_PATH, "-o", self.ALL_OUTPUT_PATH, "-l", "en", "--force"] - if execute_cmd(cmd_all) != self.COMMAND_SUCCESS or not os.path.exists(self.ALL_OUTPUT_PATH): - self.assertTrue(False, msg="advisor [all] [bp] task failed.") - self.result_html, self.result_excel = get_files(self.OUTPUT_PATH) - - def teardown_class(self): - PathManager.remove_path_safety(self.OUTPUT_PATH) - - def test_all_problems(self): - category = [ - "Kernel compare of Target and Benchmark", - "Byte Alignment Analysis", - "Bandwidth Contention Analysis", - "Block Dim Issues", - "AICPU Issues", - "Fusible Operator Analysis", - "Operator Dispatch Issues" - ] - - # True presents the attr is nan - description_len = [1, 1, 3, 6, 2, 1, 1] - suggestion_len = [True, 1, 1, True, 2, 2, 1] - problem_count = [True, True, True, 5921, 2, True, True] - total_time = [True, True, True, 87840734.826, 87840734.826, True, True] - time_ratio = [True, True, True, 0.0033, 0, True, True] - income = [True, True, True, True, True, True, True] - income_ratio = [True, True, True, True, True, True, True] - try: - df = pd.read_excel(self.result_excel.get("all", None), sheet_name='problems', header=0) - except FileNotFoundError: - logging.error("File %s not found.", str(self.result_excel.get("all", None))) - return - - for index, row in df.iterrows(): - self.assertEqual(category[index], row["category"]) - self.assertEqual(description_len[index], len(row["description"].split("\n"))) - self.assertEqual(suggestion_len[index], isinstance(row["suggestion"], float) or - len(row["suggestion"].split("\n"))) - self.assertEqual(problem_count[index], (math.isnan(row["problem count"]) or row["problem count"])) - self.assertEqual(total_time[index], (math.isnan(row["total_time(us)"]) or - round(row["total_time(us)"], 3))) - self.assertEqual(time_ratio[index], (math.isnan(row["time ratio"]) or round(row["time ratio"], 4))) - self.assertEqual(income[index], (math.isnan(row["income(us)"]) or round(row["income(us)"], 2))) - self.assertEqual(income_ratio[index], (math.isnan(row["income ratio"]) or - round(row["income ratio"], 2))) - - def test_byte_alignment_analysis(self): - op_name = [ - "hcom_broadcast__568_2_1", - "hcom_reduceScatter__257_1_1", - "hcom_allGather__257_2_1" - ] - - total_size = [ - 24274052, - 670986240, - 335493120 - ] - - duration = [ - 997.164, - 35740.428, - 17278.562 - ] - - abnormal_duration = [ - 997.164, - 35740.428, - 17278.562 - ] - - bandwidth = [ - 24.3431, - 18.7739, - 19.4167 - ] - - test_pattern = ["all"] - for pattern in test_pattern: - try: - df = pd.read_excel(self.result_excel.get(pattern, None), sheet_name='Byte Alignment Analysis', header=0) - except FileNotFoundError: - logging.error("File %s not found.", self.result_excel.get(pattern, None)) - return - - for index, row in df.iterrows(): - self.assertEqual(op_name[index], row["op name"]) - self.assertEqual(total_size[index], row["total size(Byte)"]) - self.assertEqual(duration[index], row["duration(us)"]) - self.assertEqual(abnormal_duration[index], row["abnormal duration(us)"]) - self.assertEqual(bandwidth[index], row["bandwidth(GB/s)"]) - - soup = BeautifulSoup(open(self.result_html.get(pattern, None)), 'html.parser') - for h2 in soup.find_all('h2'): - if h2.contents[0] == "Byte Alignment Analysis": - div_content = h2.next.next.next - table = div_content.find_all('table') - for row_index, row in enumerate(table[1].find_all('tr')): - if row_index == 0: - continue - self.assertEqual(str(op_name[row_index - 1]), row.find_all('td')[0].text) - self.assertEqual(str(total_size[row_index - 1]), row.find_all('td')[1].text) - self.assertEqual(str(round(duration[row_index - 1], 3)), row.find_all('td')[2].text) - self.assertEqual(str(round(abnormal_duration[row_index - 1], 3)), row.find_all('td')[3].text) - self.assertEqual(str(round(bandwidth[row_index - 1], 4)), row.find_all('td')[4].text) - - def test_all_bandwidth_contention_analysis(self): - bandwidth_contention_analysis = [ - "hcom_allGather__114_1_1", "hcom_allGather__114_4_1", "hcom_allGather__114_109_1", - "hcom_allGather__114_113_1", "hcom_allGather__114_117_1", "hcom_allGather__114_121_1", - "hcom_allGather__114_125_1", "hcom_allGather__114_129_1", "hcom_allGather__114_133_1", - "hcom_allGather__114_173_1", "hcom_allGather__114_177_1", "hcom_allGather__114_181_1", - "hcom_allGather__114_185_1", "hcom_allGather__114_189_1", "hcom_allGather__114_193_1", - "hcom_allGather__114_197_1", "hcom_allGather__114_209_1", "hcom_reduceScatter__568_261_1", - "hcom_reduceScatter__114_275_1", "hcom_reduceScatter__114_283_1", "hcom_reduceScatter__114_315_1", - "hcom_allGather__114_316_1", "hcom_reduceScatter__114_331_1", "hcom_reduceScatter__114_347_1", - "hcom_allGather__114_348_1", "hcom_reduceScatter__114_355_1", "hcom_reduceScatter__114_363_1", - "hcom_reduceScatter__114_371_1", "hcom_reduceScatter__114_379_1", "hcom_reduceScatter__114_387_1", - "hcom_allGather__114_388_1", "hcom_reduceScatter__114_411_1", "hcom_allGather__114_412_1", - "hcom_reduceScatter__114_419_1", "hcom_allGather__114_420_1", "hcom_reduceScatter__114_427_1", - "hcom_reduceScatter__114_435_1", "hcom_reduceScatter__114_443_1", "hcom_reduceScatter__114_451_1", - "hcom_reduceScatter__114_467_1", "hcom_allGather__114_468_1", "hcom_reduceScatter__114_475_1", - "hcom_allGather__114_476_1", "hcom_reduceScatter__114_483_1", "hcom_reduceScatter__114_491_1", - "hcom_reduceScatter__114_499_1", "hcom_reduceScatter__114_507_1", "hcom_reduceScatter__114_515_1", - "hcom_reduceScatter__114_531_1", "hcom_reduceScatter__114_539_1", "hcom_reduceScatter__114_547_1", - "hcom_reduceScatter__114_555_1", "hcom_allGather__114_556_1", "hcom_reduceScatter__114_563_1", - "hcom_reduceScatter__114_571_1", "hcom_reduceScatter__114_579_1", "hcom_reduceScatter__114_587_1", - "hcom_reduceScatter__114_595_1", "hcom_reduceScatter__114_603_1", "hcom_reduceScatter__114_611_1", - "hcom_reduceScatter__114_619_1", "hcom_reduceScatter__114_635_1", "hcom_reduceScatter__114_643_1", - "hcom_allGather__114_644_1", "hcom_reduceScatter__114_651_1", "hcom_reduceScatter__114_659_1", - "hcom_reduceScatter__114_667_1", "hcom_allGather__114_668_1", "hcom_reduceScatter__114_675_1", - "hcom_allGather__114_676_1", "hcom_reduceScatter__114_683_1", "hcom_allGather__114_684_1", - "hcom_reduceScatter__114_691_1" - ] - - duration = [ - 8.3508, 15.4094, 9.5789, 8.5513, 8.3012, 9.1346, 8.7032, 9.3836, 8.7531, 11.9869, 9.8575, 9.7712, 9.9296, - 12.6163, 9.6824, 9.1268, 11.0426, 15.7377, 48.7819, 73.1451, 134.33, 14.7282, 127.4724, 127.9985, 12.5301, - 124.9251, 123.348, 122.798, 123.1688, 132.2497, 11.5286, 120.421, 12.1733, 123.3453, 9.9289, 124.3953, - 124.8201, 126.5423, 122.8442, 130.256, 12.7242, 128.1858, 12.174, 123.4281, 123.2906, 122.3294, 123.7423, - 126.1776, 127.7836, 127.616, 123.5298, 120.636, 11.249, 123.3667, 125.7421, 123.9869, 124.2625, 121.3439, - 124.2089, 126.8418, 123.9893, 125.8097, 117.6455, 13.4391, 124.0685, 126.6376, 123.167, 12.0098, 121.3413, - 13.7026, 118.2242, 13.1474, 116.1516 - ] - bandwidth = [ - 6.38, 11.11, 5.2, 6.64, 7.02, 4.97, 7.83, 8.02, 6.44, 8.54, 4.59, 4.17, 6.48, 5.02, 6.13, 4.42, 5.17, - 12.26, 13.98, 3.5, 4.48, 2.95, 3.13, 2.87, 4.96, 2.83, 2.5, 2.58, 3.36, 2.89, 3.99, 3.26, 3.76, 2.98, - 5.14, 2.95, 2.74, 2.4, 2.37, 2.94, 3.76, 3.14, 4.12, 2.92, 2.6, 2.35, 2.38, 2.5, 2.9, 3.35, 2.5, 2.92, - 4.23, 2.76, 2.07, 2.48, 2.8, 3.3, 2.4, 2.59, 2.41, 2.94, 5.01, 3.33, 2.53, 2.66, 2.87, 4.51, 3.28, 3.7, - 6.45, 3.85, 9.02 - ] - try: - df = pd.read_excel(self.result_excel.get("all", None), sheet_name='Bandwidth Contention Analysis', header=0) - except FileNotFoundError: - logging.error("File %s not found.", str(self.result_excel.get("all", None))) - return - - for index, row in df.iterrows(): - self.assertEqual(bandwidth_contention_analysis[index], row["op name"]) - self.assertEqual(duration[index], round(row["duration(ms)"], 4)) - self.assertEqual(bandwidth[index], round(row["bandwidth(GB/s)"], 2)) - - - def test_aicpu_operator(self): - op_name = ["aclnnEqScalar_EqualAiCpu_Equal", "aclnnPowTensorScalar_SquareAiCpu_Square"] - op_type = ["Equal", "Square"] - task_duration = [94.422, 87.862] - input_shapes = ["\"41;\"", "\"41\""] - input_data_types = ["DOUBLE;DOUBLE", "INT64"] - input_formats = ["FORMAT_ND;FORMAT_ND", "FORMAT_ND"] - output_shapes = ["\"41\"", "\"41\""] - output_data_types = ["BOOL", "INT64"] - output_formats = ["FORMAT_ND", "FORMAT_ND"] - stack_info = [True, True] - - t0_description = ["Square, Equal"] - t0_suggestion = ["aclnnEqScalar_EqualAiCpu_Equal"] - t0_elapsed_time = ["182.28"] - t0_time_ratio = ["0.0"] - t1_operator_type = ["Equal"] - t1_counts = ["1"] - t1_elapsed_time = ["94.42"] - t2_operator_type = ["Square"] - t2_counts = ["1"] - t2_elapsed_time = ["87.86"] - b_names = ["Equal", "Suggestion 1:", "Square", "Suggestion 1:"] - - try: - df = pd.read_excel(self.result_excel.get("all", None), sheet_name='AICPU Issues', header=0) - except FileNotFoundError: - logging.error("File %s not found.", str(self.result_excel.get("all", None))) - return - - for index, row in df.iterrows(): - self.assertEqual(op_name[index], row["op_name"]) - self.assertEqual(op_type[index], row["op_type"]) - self.assertEqual(task_duration[index], round(row["task_duration"], 3)) - self.assertEqual(input_shapes[index], row["input_shapes"]) - self.assertEqual(input_data_types[index], row["input_data_types"]) - self.assertEqual(input_formats[index], row["input_formats"]) - self.assertEqual(output_shapes[index], row["output_shapes"]) - self.assertEqual(output_data_types[index], row["output_data_types"]) - self.assertEqual(output_formats[index], row["output_formats"]) - self.assertEqual(stack_info[index], math.isnan(row["stack_info"])) - - soup = BeautifulSoup(open(self.result_html.get("all", None)), 'html.parser') - for h2 in soup.find_all('h2'): - if h2.contents[0] == "AICPU Issues": - div_content = h2.next.next.next - table = div_content.find_all('table') - for row_index, row in enumerate(table[0].find_all('tr')): - if row_index == 0: - continue - self.assertEqual(t0_description[row_index - 1], - row.find_all('td')[0].text.split(":")[1].replace("\n", "")) - self.assertEqual(t0_suggestion[row_index - 1], row.find_all('td')[1].text.split(" ")[-1]) - self.assertEqual(t0_elapsed_time[row_index - 1], row.find_all('td')[2].text) - self.assertEqual(t0_time_ratio[row_index - 1], row.find_all('td')[3].text) - for row_index, row in enumerate(table[1].find_all('tr')): - if row_index == 0: - continue - self.assertEqual(t1_operator_type[row_index - 1], row.find_all('td')[0].text) - self.assertEqual(t1_counts[row_index - 1], row.find_all('td')[1].text) - self.assertEqual(t1_elapsed_time[row_index - 1], row.find_all('td')[2].text) - for row_index, row in enumerate(table[2].find_all('tr')): - if row_index == 0: - continue - self.assertEqual(t2_operator_type[row_index - 1], row.find_all('td')[0].text) - self.assertEqual(t2_counts[row_index - 1], row.find_all('td')[1].text) - self.assertEqual(t2_elapsed_time[row_index - 1], row.find_all('td')[2].text) - - b_contents = div_content.find_all('b') - for b_index, b_content in enumerate(b_contents): - self.assertEqual(b_names[b_index], b_content.text) - - def test_operator_dispatch(self): - issues = ["operator dispatch"] - op_name = ["aclopCompileAndExecute"] - counts = [381] - total_time = [64611.056] - - t0_description = ["381"] - t0_suggestion = ["torch_npu.npu.set_compile_mode(jit_compile=False)"] - t1_issue = ["aclopCompileAndExecute"] - t1_counts = ['381'] - t1_elapsed_time = ['64611.05599999996'] - - try: - df = pd.read_excel(self.result_excel.get("all", None), sheet_name='Operator Dispatch Issues', header=0) - except FileNotFoundError: - logging.error("File %s not found.", str(self.result_excel.get("all", None))) - return - for index, row in df.iterrows(): - self.assertEqual(issues[index], row["Issues"]) - self.assertEqual(op_name[index], row["op name"]) - self.assertEqual(counts[index], row["counts"]) - self.assertEqual(total_time[index], round(row["total time"], 3)) - - soup = BeautifulSoup(open(self.result_html.get("all", None)), 'html.parser') - for h2 in soup.find_all('h2'): - if h2.contents[0] == "Operator Dispatch Issues": - div_content = h2.next.next.next - table = div_content.find_all('table') - for row_index, row in enumerate(table[0].find_all('tr')): - if row_index == 0: - continue - self.assertEqual(t0_description[row_index - 1], row.find_all('td')[0].text.split(' ')[1]) - self.assertEqual(t0_suggestion[row_index - 1], - row.find_all('td')[1].text.split('`')[1].split(';')[0]) - for row_index, row in enumerate(table[1].find_all('tr')): - if row_index == 0: - continue - self.assertEqual(t1_issue[row_index - 1], row.find_all('td')[0].text) - self.assertEqual(t1_counts[row_index - 1], row.find_all('td')[1].text) - self.assertEqual(t1_elapsed_time[row_index - 1], row.find_all('td')[2].text) - - +# Copyright (c) 2025, Huawei Technologies Co., Ltd. +# All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import os +import logging +from unittest import TestCase + +import math +import pandas as pd +from bs4 import BeautifulSoup +from msprof_analyze.advisor.interface.interface import Interface + +from msprof_analyze.advisor.analyzer.analyzer_controller import AnalyzerController + +from msprof_analyze.prof_common.path_manager import PathManager +from msprof_analyze.test.st.advisor.utils import get_files, execute_cmd +from msprof_analyze.test.st.utils import ST_DATA_PATH + + +class TestAdvisorCmdSingleAscendPtDBCompare(TestCase): + BASE_PROFILING_PATH = os.path.join(ST_DATA_PATH, "cluster_data_2_db", + "n122-120-121_12321_20240911113658382_ascend_pt") + COMPARISON_PROFILING_PATH = os.path.join(ST_DATA_PATH, "cluster_data_2_db", + "n122-120-121_12322_20240911113658370_ascend_pt") + OUTPUT_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), "TestAdvisorCmdSingleAscendPtDBCompare") + ALL_OUTPUT_PATH = os.path.join(OUTPUT_PATH, "all") + result_excel = {} + result_html = {} + COMMAND_SUCCESS = 0 + + def setup_class(self): + PathManager.make_dir_safety(self.ALL_OUTPUT_PATH) + cmd_all = ["msprof-analyze", "advisor", "all", "-d", self.BASE_PROFILING_PATH, "-bp", + self.COMPARISON_PROFILING_PATH, "-o", self.ALL_OUTPUT_PATH, "-l", "en", "--force"] + if execute_cmd(cmd_all) != self.COMMAND_SUCCESS or not os.path.exists(self.ALL_OUTPUT_PATH): + self.assertTrue(False, msg="advisor [all] [bp] task failed.") + self.result_html, self.result_excel = get_files(self.OUTPUT_PATH) + + def teardown_class(self): + PathManager.remove_path_safety(self.OUTPUT_PATH) + + def test_all_problems(self): + category = [ + "Kernel compare of Target and Benchmark", + "Byte Alignment Analysis", + "Bandwidth Contention Analysis", + "Block Dim Issues", + "AICPU Issues", + "Fusible Operator Analysis", + "Operator Dispatch Issues" + ] + + # True presents the attr is nan + description_len = [1, 1, 3, 6, 2, 1, 1] + suggestion_len = [True, 1, 1, True, 2, 2, 1] + problem_count = [True, True, True, 5921, 2, True, True] + total_time = [True, True, True, 87840734.826, 87840734.826, True, True] + time_ratio = [True, True, True, 0.0033, 0, True, True] + income = [True, True, True, True, True, True, True] + income_ratio = [True, True, True, True, True, True, True] + try: + df = pd.read_excel(self.result_excel.get("all", None), sheet_name='problems', header=0) + except FileNotFoundError: + logging.error("File %s not found.", str(self.result_excel.get("all", None))) + return + + for index, row in df.iterrows(): + self.assertEqual(category[index], row["category"]) + self.assertEqual(description_len[index], len(row["description"].split("\n"))) + self.assertEqual(suggestion_len[index], isinstance(row["suggestion"], float) or + len(row["suggestion"].split("\n"))) + self.assertEqual(problem_count[index], (math.isnan(row["problem count"]) or row["problem count"])) + self.assertEqual(total_time[index], (math.isnan(row["total_time(us)"]) or + round(row["total_time(us)"], 3))) + self.assertEqual(time_ratio[index], (math.isnan(row["time ratio"]) or round(row["time ratio"], 4))) + self.assertEqual(income[index], (math.isnan(row["income(us)"]) or round(row["income(us)"], 2))) + self.assertEqual(income_ratio[index], (math.isnan(row["income ratio"]) or + round(row["income ratio"], 2))) + + def test_byte_alignment_analysis(self): + op_name = [ + "hcom_broadcast__568_2_1", + "hcom_reduceScatter__257_1_1", + "hcom_allGather__257_2_1" + ] + + total_size = [ + 24274052, + 670986240, + 335493120 + ] + + duration = [ + 997.164, + 35740.428, + 17278.562 + ] + + abnormal_duration = [ + 997.164, + 35740.428, + 17278.562 + ] + + bandwidth = [ + 24.3431, + 18.7739, + 19.4167 + ] + + test_pattern = ["all"] + for pattern in test_pattern: + try: + df = pd.read_excel(self.result_excel.get(pattern, None), sheet_name='Byte Alignment Analysis', header=0) + except FileNotFoundError: + logging.error("File %s not found.", self.result_excel.get(pattern, None)) + return + + for index, row in df.iterrows(): + self.assertEqual(op_name[index], row["op name"]) + self.assertEqual(total_size[index], row["total size(Byte)"]) + self.assertEqual(duration[index], row["duration(us)"]) + self.assertEqual(abnormal_duration[index], row["abnormal duration(us)"]) + self.assertEqual(bandwidth[index], row["bandwidth(GB/s)"]) + + soup = BeautifulSoup(open(self.result_html.get(pattern, None)), 'html.parser') + for h2 in soup.find_all('h2'): + if h2.contents[0] == "Byte Alignment Analysis": + div_content = h2.next.next.next + table = div_content.find_all('table') + for row_index, row in enumerate(table[1].find_all('tr')): + if row_index == 0: + continue + self.assertEqual(str(op_name[row_index - 1]), row.find_all('td')[0].text) + self.assertEqual(str(total_size[row_index - 1]), row.find_all('td')[1].text) + self.assertEqual(str(round(duration[row_index - 1], 3)), row.find_all('td')[2].text) + self.assertEqual(str(round(abnormal_duration[row_index - 1], 3)), row.find_all('td')[3].text) + self.assertEqual(str(round(bandwidth[row_index - 1], 4)), row.find_all('td')[4].text) + + def test_all_bandwidth_contention_analysis(self): + bandwidth_contention_analysis = [ + "hcom_allGather__114_1_1", "hcom_allGather__114_4_1", "hcom_allGather__114_109_1", + "hcom_allGather__114_113_1", "hcom_allGather__114_117_1", "hcom_allGather__114_121_1", + "hcom_allGather__114_125_1", "hcom_allGather__114_129_1", "hcom_allGather__114_133_1", + "hcom_allGather__114_173_1", "hcom_allGather__114_177_1", "hcom_allGather__114_181_1", + "hcom_allGather__114_185_1", "hcom_allGather__114_189_1", "hcom_allGather__114_193_1", + "hcom_allGather__114_197_1", "hcom_allGather__114_209_1", "hcom_reduceScatter__568_261_1", + "hcom_reduceScatter__114_275_1", "hcom_reduceScatter__114_283_1", "hcom_reduceScatter__114_315_1", + "hcom_allGather__114_316_1", "hcom_reduceScatter__114_331_1", "hcom_reduceScatter__114_347_1", + "hcom_allGather__114_348_1", "hcom_reduceScatter__114_355_1", "hcom_reduceScatter__114_363_1", + "hcom_reduceScatter__114_371_1", "hcom_reduceScatter__114_379_1", "hcom_reduceScatter__114_387_1", + "hcom_allGather__114_388_1", "hcom_reduceScatter__114_411_1", "hcom_allGather__114_412_1", + "hcom_reduceScatter__114_419_1", "hcom_allGather__114_420_1", "hcom_reduceScatter__114_427_1", + "hcom_reduceScatter__114_435_1", "hcom_reduceScatter__114_443_1", "hcom_reduceScatter__114_451_1", + "hcom_reduceScatter__114_467_1", "hcom_allGather__114_468_1", "hcom_reduceScatter__114_475_1", + "hcom_allGather__114_476_1", "hcom_reduceScatter__114_483_1", "hcom_reduceScatter__114_491_1", + "hcom_reduceScatter__114_499_1", "hcom_reduceScatter__114_507_1", "hcom_reduceScatter__114_515_1", + "hcom_reduceScatter__114_531_1", "hcom_reduceScatter__114_539_1", "hcom_reduceScatter__114_547_1", + "hcom_reduceScatter__114_555_1", "hcom_allGather__114_556_1", "hcom_reduceScatter__114_563_1", + "hcom_reduceScatter__114_571_1", "hcom_reduceScatter__114_579_1", "hcom_reduceScatter__114_587_1", + "hcom_reduceScatter__114_595_1", "hcom_reduceScatter__114_603_1", "hcom_reduceScatter__114_611_1", + "hcom_reduceScatter__114_619_1", "hcom_reduceScatter__114_635_1", "hcom_reduceScatter__114_643_1", + "hcom_allGather__114_644_1", "hcom_reduceScatter__114_651_1", "hcom_reduceScatter__114_659_1", + "hcom_reduceScatter__114_667_1", "hcom_allGather__114_668_1", "hcom_reduceScatter__114_675_1", + "hcom_allGather__114_676_1", "hcom_reduceScatter__114_683_1", "hcom_allGather__114_684_1", + "hcom_reduceScatter__114_691_1" + ] + + duration = [ + 8.3508, 15.4094, 9.5789, 8.5513, 8.3012, 9.1346, 8.7032, 9.3836, 8.7531, 11.9869, 9.8575, 9.7712, 9.9296, + 12.6163, 9.6824, 9.1268, 11.0426, 15.7377, 48.7819, 73.1451, 134.33, 14.7282, 127.4724, 127.9985, 12.5301, + 124.9251, 123.348, 122.798, 123.1688, 132.2497, 11.5286, 120.421, 12.1733, 123.3453, 9.9289, 124.3953, + 124.8201, 126.5423, 122.8442, 130.256, 12.7242, 128.1858, 12.174, 123.4281, 123.2906, 122.3294, 123.7423, + 126.1776, 127.7836, 127.616, 123.5298, 120.636, 11.249, 123.3667, 125.7421, 123.9869, 124.2625, 121.3439, + 124.2089, 126.8418, 123.9893, 125.8097, 117.6455, 13.4391, 124.0685, 126.6376, 123.167, 12.0098, 121.3413, + 13.7026, 118.2242, 13.1474, 116.1516 + ] + bandwidth = [ + 6.38, 11.11, 5.2, 6.64, 7.02, 4.97, 7.83, 8.02, 6.44, 8.54, 4.59, 4.17, 6.48, 5.02, 6.13, 4.42, 5.17, + 12.26, 13.98, 3.5, 4.48, 2.95, 3.13, 2.87, 4.96, 2.83, 2.5, 2.58, 3.36, 2.89, 3.99, 3.26, 3.76, 2.98, + 5.14, 2.95, 2.74, 2.4, 2.37, 2.94, 3.76, 3.14, 4.12, 2.92, 2.6, 2.35, 2.38, 2.5, 2.9, 3.35, 2.5, 2.92, + 4.23, 2.76, 2.07, 2.48, 2.8, 3.3, 2.4, 2.59, 2.41, 2.94, 5.01, 3.33, 2.53, 2.66, 2.87, 4.51, 3.28, 3.7, + 6.45, 3.85, 9.02 + ] + try: + df = pd.read_excel(self.result_excel.get("all", None), sheet_name='Bandwidth Contention Analysis', header=0) + except FileNotFoundError: + logging.error("File %s not found.", str(self.result_excel.get("all", None))) + return + + for index, row in df.iterrows(): + self.assertEqual(bandwidth_contention_analysis[index], row["op name"]) + self.assertEqual(duration[index], round(row["duration(ms)"], 4)) + self.assertEqual(bandwidth[index], round(row["bandwidth(GB/s)"], 2)) + + + def test_aicpu_operator(self): + op_name = ["aclnnEqScalar_EqualAiCpu_Equal", "aclnnPowTensorScalar_SquareAiCpu_Square"] + op_type = ["Equal", "Square"] + task_duration = [94.422, 87.862] + input_shapes = ["\"41;\"", "\"41\""] + input_data_types = ["DOUBLE;DOUBLE", "INT64"] + input_formats = ["FORMAT_ND;FORMAT_ND", "FORMAT_ND"] + output_shapes = ["\"41\"", "\"41\""] + output_data_types = ["BOOL", "INT64"] + output_formats = ["FORMAT_ND", "FORMAT_ND"] + stack_info = [True, True] + + t0_description = ["Square, Equal"] + t0_suggestion = ["aclnnEqScalar_EqualAiCpu_Equal"] + t0_elapsed_time = ["182.28"] + t0_time_ratio = ["0.0"] + t1_operator_type = ["Equal"] + t1_counts = ["1"] + t1_elapsed_time = ["94.42"] + t2_operator_type = ["Square"] + t2_counts = ["1"] + t2_elapsed_time = ["87.86"] + b_names = ["Equal", "Suggestion 1:", "Square", "Suggestion 1:"] + + try: + df = pd.read_excel(self.result_excel.get("all", None), sheet_name='AICPU Issues', header=0) + except FileNotFoundError: + logging.error("File %s not found.", str(self.result_excel.get("all", None))) + return + + for index, row in df.iterrows(): + self.assertEqual(op_name[index], row["op_name"]) + self.assertEqual(op_type[index], row["op_type"]) + self.assertEqual(task_duration[index], round(row["task_duration"], 3)) + self.assertEqual(input_shapes[index], row["input_shapes"]) + self.assertEqual(input_data_types[index], row["input_data_types"]) + self.assertEqual(input_formats[index], row["input_formats"]) + self.assertEqual(output_shapes[index], row["output_shapes"]) + self.assertEqual(output_data_types[index], row["output_data_types"]) + self.assertEqual(output_formats[index], row["output_formats"]) + self.assertEqual(stack_info[index], math.isnan(row["stack_info"])) + + soup = BeautifulSoup(open(self.result_html.get("all", None)), 'html.parser') + for h2 in soup.find_all('h2'): + if h2.contents[0] == "AICPU Issues": + div_content = h2.next.next.next + table = div_content.find_all('table') + for row_index, row in enumerate(table[0].find_all('tr')): + if row_index == 0: + continue + self.assertEqual(t0_description[row_index - 1], + row.find_all('td')[0].text.split(":")[1].replace("\n", "")) + self.assertEqual(t0_suggestion[row_index - 1], row.find_all('td')[1].text.split(" ")[-1]) + self.assertEqual(t0_elapsed_time[row_index - 1], row.find_all('td')[2].text) + self.assertEqual(t0_time_ratio[row_index - 1], row.find_all('td')[3].text) + for row_index, row in enumerate(table[1].find_all('tr')): + if row_index == 0: + continue + self.assertEqual(t1_operator_type[row_index - 1], row.find_all('td')[0].text) + self.assertEqual(t1_counts[row_index - 1], row.find_all('td')[1].text) + self.assertEqual(t1_elapsed_time[row_index - 1], row.find_all('td')[2].text) + for row_index, row in enumerate(table[2].find_all('tr')): + if row_index == 0: + continue + self.assertEqual(t2_operator_type[row_index - 1], row.find_all('td')[0].text) + self.assertEqual(t2_counts[row_index - 1], row.find_all('td')[1].text) + self.assertEqual(t2_elapsed_time[row_index - 1], row.find_all('td')[2].text) + + b_contents = div_content.find_all('b') + for b_index, b_content in enumerate(b_contents): + self.assertEqual(b_names[b_index], b_content.text) + + def test_operator_dispatch(self): + issues = ["operator dispatch"] + op_name = ["aclopCompileAndExecute"] + counts = [381] + total_time = [64611.056] + + t0_description = ["381"] + t0_suggestion = ["torch_npu.npu.set_compile_mode(jit_compile=False)"] + t1_issue = ["aclopCompileAndExecute"] + t1_counts = ['381'] + t1_elapsed_time = ['64611.05599999996'] + + try: + df = pd.read_excel(self.result_excel.get("all", None), sheet_name='Operator Dispatch Issues', header=0) + except FileNotFoundError: + logging.error("File %s not found.", str(self.result_excel.get("all", None))) + return + for index, row in df.iterrows(): + self.assertEqual(issues[index], row["Issues"]) + self.assertEqual(op_name[index], row["op name"]) + self.assertEqual(counts[index], row["counts"]) + self.assertEqual(total_time[index], round(row["total time"], 3)) + + soup = BeautifulSoup(open(self.result_html.get("all", None)), 'html.parser') + for h2 in soup.find_all('h2'): + if h2.contents[0] == "Operator Dispatch Issues": + div_content = h2.next.next.next + table = div_content.find_all('table') + for row_index, row in enumerate(table[0].find_all('tr')): + if row_index == 0: + continue + self.assertEqual(t0_description[row_index - 1], row.find_all('td')[0].text.split(' ')[1]) + self.assertEqual(t0_suggestion[row_index - 1], + row.find_all('td')[1].text.split('`')[1].split(';')[0]) + for row_index, row in enumerate(table[1].find_all('tr')): + if row_index == 0: + continue + self.assertEqual(t1_issue[row_index - 1], row.find_all('td')[0].text) + self.assertEqual(t1_counts[row_index - 1], row.find_all('td')[1].text) + self.assertEqual(t1_elapsed_time[row_index - 1], row.find_all('td')[2].text) + + diff --git "a/security_statement/\345\205\254\347\275\221\345\234\260\345\235\200.md" "b/security_statement/\345\205\254\347\275\221\345\234\260\345\235\200.md" index f605b4883e2ded36af6e526981fb3aee80c4c863..dfe3b5e5915e73bfa3de72fa2a07d486764a9616 100644 --- "a/security_statement/\345\205\254\347\275\221\345\234\260\345\235\200.md" +++ "b/security_statement/\345\205\254\347\275\221\345\234\260\345\235\200.md" @@ -1,33 +1,33 @@ -| 类型 | 开源代码地址 | 文件名 | 公网IP地址/公网URL地址/域名/邮箱地址 | 用途说明 | -| -------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------ | -| 开源软件 | - | 所有文件 | http://www.apache.org/licenses/LICENSE-2.0 | 文件头中的license信息说明 | -| 开源软件 | - | debug/accuracy_tools/setup.py | pmail_mindstudio@huawei.com | 用于软件包的author-email信息 | -| 开源软件 | - | debug/accuracy_tools/setup.py | https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe | 用于软件包的home-page信息 | -| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/googletest/repository/archive/release-1.12.1.tar.gz | 开源软件下载 | -| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/sinojelly/mockcpp/repository/archive/v2.7.zip | 开源软件下载 | -| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/JSON-for-Modern-CPP/repository/archive/v3.10.1.zip | 开源软件下载 | -| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/openssl/repository/archive/OpenSSL_1_1_1k.tar.gz | 开源软件下载 | -| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/protobuf_source/repository/archive/v3.15.0.tar.gz | 开源软件下载 | -| 开源软件 | - | /.gitmodules | [https://github.com/facebookincubator/dynolog.git](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ffacebookincubator%2Fdynolog.git) | 在线监控底座 | -| 开源软件 | - | /msmonitor/dynolog_npu/cmake/config.ini | https://gitee.com/mirrors/openssl.git | 开源软件下载 | -| 开源软件 | - | /msmonitor/scripts/build.sh | [https://github.com/RustingSword/tensorboard_logger.git](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2FRustingSword%2Ftensorboard_logger.git) | 开源软件下载 | -| 开源软件 | - | /msmonitor/README.md | [https://github.com/tensorflow/tensorboard](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ftensorflow%2Ftensorboard) | tensorboard官网教程 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.hiascend.com/document/detail/zh/canncommercial/80RC2/devaids/auxiliarydevtool/atlasprofiling_16_0038.html](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F80RC2%2Fdevaids%2Fauxiliarydevtool%2Fatlasprofiling_16_0038.html) | MindStudio Ascend PyTorch Profiler参考示例 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | https://gitee.com/ascend/mstt/blob/master/profiler/msprof_analyze/advisor/doc/Samples of Fused Operator API Replacement.md" | Advisor优化手段参考示例 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.hiascend.com/document/detail/zh/canncommercial/80RC2/devaids/auxiliarydevtool/aoe_16_043.html](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F80RC2%2Fdevaids%2Fauxiliarydevtool%2Faoe_16_043.html) | Advisor优化手段参考示例 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.mindspore.cn/lite/docs/en/master/use/cloud_infer/converter_tool_ascend.html#aoe-auto-tuning](https://gitee.com/link?target=https%3A%2F%2Fwww.mindspore.cn%2Flite%2Fdocs%2Fen%2Fmaster%2Fuse%2Fcloud_infer%2Fconverter_tool_ascend.html%23aoe-auto-tuning) | Advisor优化手段参考示例 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.hiascend.com/document/detail/zh/canncommercial/700/modeldevpt/ptmigr/AImpug_000060.html](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F700%2Fmodeldevpt%2Fptmigr%2FAImpug_000060.html) | Advisor优化手段参考示例 | -| 开源软件 | - | /profiler/msprof_analyze/config/config.ini | https://gitee.com/ascend/mstt/tree/master/profiler/msprof_analyze | msprof-analyze工具地址 | -| 开源软件 | - | /profiler/msprof_analyze/LICENSE | [http://www.apache.org/licenses/LICENSE-2.0](https://gitee.com/link?target=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0) | 开源软件协议地址 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/rules/aicpu_rules.yaml | https://gitee.com/ascend/mstt/blob/master/profiler/msprof_analyze/advisor/doc/Samples of AI CPU Operator Replacement.md | AI CPU 算子替换样例 | -| 开源软件 | - | /profiler/msprof_analyze/advisor/rules/environment_variable_info.yaml | [https://support.huawei.com/enterprise/zh/doc/EDOC1100371278/5eeeed85?idPath=23710424](https://gitee.com/link?target=https%3A%2F%2Fsupport.huawei.com%2Fenterprise%2Fzh%2Fdoc%2FEDOC1100371278%2F5eeeed85%3FidPath%3D23710424) | 组网指南 | -| 开源软件 | - | /profiler/msprof_analyze/config/config.ini | [pmail_mindstudio@huawei.com](https://gitee.com/link?target=mailto%3Apmail_mindstudio%40huawei.com) | 公网邮箱 | -| 开源软件 | - | plugins/tensorboard-plugins/tb_graph_ascend/setup.py | pmail_mindstudio@huawei.com | MindStudio官方邮箱 | -| 开源软件 | - | plugins/tensorboard-plugins/tb_graph_ascend/setup.py | https://gitee.com/ascend/mstt/tree/master/plugins/tensorboard-plugins/tb_graph_ascend | 代码仓地址 | -| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://npms.io | 构建引入,注释 | -| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://github.com/webcomponents/shadycss/issues/193 | 构建引入,注释 | -| 开源软件 | - | 非源码引入,只是在构建产物中包含 | http://jsbin.com/temexa/4 | 构建引入,注释 | -| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://fonts.googleapis.com/ | 构建引入,组件样式文件 | -| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://developer.mozilla.org/ | 构建引入,注释 | -| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://github.com/vaadin/vaadin-time-picker/issues/145 | 构建引入,注释 | +| 类型 | 开源代码地址 | 文件名 | 公网IP地址/公网URL地址/域名/邮箱地址 | 用途说明 | +| -------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------ | +| 开源软件 | - | 所有文件 | http://www.apache.org/licenses/LICENSE-2.0 | 文件头中的license信息说明 | +| 开源软件 | - | debug/accuracy_tools/setup.py | pmail_mindstudio@huawei.com | 用于软件包的author-email信息 | +| 开源软件 | - | debug/accuracy_tools/setup.py | https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe | 用于软件包的home-page信息 | +| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/googletest/repository/archive/release-1.12.1.tar.gz | 开源软件下载 | +| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/sinojelly/mockcpp/repository/archive/v2.7.zip | 开源软件下载 | +| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/JSON-for-Modern-CPP/repository/archive/v3.10.1.zip | 开源软件下载 | +| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/openssl/repository/archive/OpenSSL_1_1_1k.tar.gz | 开源软件下载 | +| 开源软件 | - | debug/accuracy_tools/cmake/config.ini | https://gitee.com/mirrors/protobuf_source/repository/archive/v3.15.0.tar.gz | 开源软件下载 | +| 开源软件 | - | /.gitmodules | [https://github.com/facebookincubator/dynolog.git](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ffacebookincubator%2Fdynolog.git) | 在线监控底座 | +| 开源软件 | - | /msmonitor/dynolog_npu/cmake/config.ini | https://gitee.com/mirrors/openssl.git | 开源软件下载 | +| 开源软件 | - | /msmonitor/scripts/build.sh | [https://github.com/RustingSword/tensorboard_logger.git](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2FRustingSword%2Ftensorboard_logger.git) | 开源软件下载 | +| 开源软件 | - | /msmonitor/README.md | [https://github.com/tensorflow/tensorboard](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Ftensorflow%2Ftensorboard) | tensorboard官网教程 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.hiascend.com/document/detail/zh/canncommercial/80RC2/devaids/auxiliarydevtool/atlasprofiling_16_0038.html](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F80RC2%2Fdevaids%2Fauxiliarydevtool%2Fatlasprofiling_16_0038.html) | MindStudio Ascend PyTorch Profiler参考示例 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | https://gitee.com/ascend/mstt/blob/master/profiler/msprof_analyze/advisor/doc/Samples of Fused Operator API Replacement.md" | Advisor优化手段参考示例 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.hiascend.com/document/detail/zh/canncommercial/80RC2/devaids/auxiliarydevtool/aoe_16_043.html](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F80RC2%2Fdevaids%2Fauxiliarydevtool%2Faoe_16_043.html) | Advisor优化手段参考示例 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.mindspore.cn/lite/docs/en/master/use/cloud_infer/converter_tool_ascend.html#aoe-auto-tuning](https://gitee.com/link?target=https%3A%2F%2Fwww.mindspore.cn%2Flite%2Fdocs%2Fen%2Fmaster%2Fuse%2Fcloud_infer%2Fconverter_tool_ascend.html%23aoe-auto-tuning) | Advisor优化手段参考示例 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/config/config.ini | [https://www.hiascend.com/document/detail/zh/canncommercial/700/modeldevpt/ptmigr/AImpug_000060.html](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F700%2Fmodeldevpt%2Fptmigr%2FAImpug_000060.html) | Advisor优化手段参考示例 | +| 开源软件 | - | /profiler/msprof_analyze/config/config.ini | https://gitee.com/ascend/mstt/tree/master/profiler/msprof_analyze | msprof-analyze工具地址 | +| 开源软件 | - | /profiler/msprof_analyze/LICENSE | [http://www.apache.org/licenses/LICENSE-2.0](https://gitee.com/link?target=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0) | 开源软件协议地址 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/rules/aicpu_rules.yaml | https://gitee.com/ascend/mstt/blob/master/profiler/msprof_analyze/advisor/doc/Samples of AI CPU Operator Replacement.md | AI CPU 算子替换样例 | +| 开源软件 | - | /profiler/msprof_analyze/advisor/rules/environment_variable_info.yaml | [https://support.huawei.com/enterprise/zh/doc/EDOC1100371278/5eeeed85?idPath=23710424](https://gitee.com/link?target=https%3A%2F%2Fsupport.huawei.com%2Fenterprise%2Fzh%2Fdoc%2FEDOC1100371278%2F5eeeed85%3FidPath%3D23710424) | 组网指南 | +| 开源软件 | - | /profiler/msprof_analyze/config/config.ini | [pmail_mindstudio@huawei.com](https://gitee.com/link?target=mailto%3Apmail_mindstudio%40huawei.com) | 公网邮箱 | +| 开源软件 | - | plugins/tensorboard-plugins/tb_graph_ascend/setup.py | pmail_mindstudio@huawei.com | MindStudio官方邮箱 | +| 开源软件 | - | plugins/tensorboard-plugins/tb_graph_ascend/setup.py | https://gitee.com/ascend/mstt/tree/master/plugins/tensorboard-plugins/tb_graph_ascend | 代码仓地址 | +| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://npms.io | 构建引入,注释 | +| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://github.com/webcomponents/shadycss/issues/193 | 构建引入,注释 | +| 开源软件 | - | 非源码引入,只是在构建产物中包含 | http://jsbin.com/temexa/4 | 构建引入,注释 | +| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://fonts.googleapis.com/ | 构建引入,组件样式文件 | +| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://developer.mozilla.org/ | 构建引入,注释 | +| 开源软件 | - | 非源码引入,只是在构建产物中包含 | https://github.com/vaadin/vaadin-time-picker/issues/145 | 构建引入,注释 | | 开源软件 | - | 非源码引入,只是在构建产物中包含 | http://codepen.io/shyndman/pen/ | 构建引入,注释 | \ No newline at end of file