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