From 7b2bfcf3adb713579840695befe4803a6d8598f9 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Tue, 17 Jun 2025 15:35:42 +0800
Subject: [PATCH 01/22] =?UTF-8?q?=F0=9F=A7=AA=20test:=20=E8=A1=A5=E5=85=85?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app/controllers/match_nodes_controller.py | 3 +-
.../test/data/test_case_factory.py | 8 +
.../process_task_add_child_layer.json | 469 ++++++++++++
.../process_task_delete_case.json | 164 +++++
.../process_task_delete_child_layer.json | 666 ++++++++++++++++++
.../test_match_nodes_controller.py | 28 +-
6 files changed, 1335 insertions(+), 3 deletions(-)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_child_layer.json
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
index 5251bb118..07e4cf759 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
@@ -125,7 +125,6 @@ class MatchNodesController:
for key in common_keys:
npu_subnode_list = npu_match_names.get(key, [])
bench_subnode_list = bench_match_names.get(key, [])
-
# 多个节点可能有一个module name
for npu_subnode_name, bench_subnode_name in zip(npu_subnode_list, bench_subnode_list):
result = MatchNodesController.process_task_add(graph_data, npu_subnode_name, bench_subnode_name,
@@ -177,6 +176,7 @@ class MatchNodesController:
# 2. 目标节点的子节点和标杆侧的子节点添加匹配关系
def process_child_layer(npu_child_nodes):
+ print("process_child_layer", npu_child_nodes)
for npu_subnode_name in npu_child_nodes:
npu_subnode_info = npu_nodes.get(npu_subnode_name, {})
matched_node_link = npu_subnode_info.get('matched_node_link', [])
@@ -193,6 +193,7 @@ class MatchNodesController:
npu_subnodes = npu_nodes.get(npu_node_name, {}).get('subnodes', [])
bench_subnodes = bench_nodes.get(bench_node_name, {}).get('subnodes', [])
+
if result.get('success') and npu_subnodes and bench_subnodes:
process_child_layer(npu_subnodes)
if result.get('success'):
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
index afdcb1b07..877bb2c42 100644
--- 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
@@ -30,6 +30,14 @@ class TestCaseFactory:
def get_process_task_delete_cases(cls):
return cls._load_cases('test_match_node_controller\\process_task_delete_case.json')
+ @classmethod
+ def get_process_task_add_child_layer_cases(cls):
+ return cls._load_cases('test_match_node_controller\\process_task_add_child_layer.json')
+
+ @classmethod
+ def get_process_task_delete_child_layer_cases(cls):
+ return cls._load_cases('test_match_node_controller\\process_task_delete_child_layer.json')
+
@classmethod
def _load_cases(cls, filename):
"""从JSON文件加载测试用例"""
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 000000000..d03b9fd26
--- /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_delete_case.json b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_case.json
index 802d474fe..0a74fbded 100644
--- 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
@@ -37,6 +37,52 @@
"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任务删除失败(节点未匹配)",
@@ -70,5 +116,123 @@
"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 000000000..a595cd4c3
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_delete_child_layer.json
@@ -0,0 +1,666 @@
+[
+ {
+ "case_id": 1,
+ "description": "参数错误(缺少graph_data)",
+ "input": {
+ "graph_data": null,
+ "npu_node_name": "npu_node",
+ "bench_node_name": "bench_node",
+ "task": "summary"
+ },
+ "expected": {
+ "success": false,
+ "error": "参数错误"
+ }
+ },
+ {
+ "case_id": 2,
+ "description": "节点未匹配(配置中无匹配关系)",
+ "config": {
+ "npuMatchNodes": {},
+ "benchMatchNodes": {}
+ },
+ "input": {
+ "graph_data": {
+ "NPU": {
+ "node": {
+ "npu_node": {
+ "node_type": "Module",
+ "matched_node_link": [
+ "bench_node"
+ ],
+ "data": {
+ "precision_index": 0.95
+ }
+ }
+ }
+ },
+ "Bench": {
+ "node": {
+ "bench_node": {
+ "node_type": "Module",
+ "matched_node_link": [
+ "npu_node"
+ ]
+ }
+ }
+ }
+ },
+ "npu_node_name": "npu_node",
+ "bench_node_name": "bench_node",
+ "task": "summary"
+ },
+ "expected": {
+ "success": false,
+ "error": "操作失败:节点未匹配,请先匹配节点"
+ }
+ },
+ {
+ "case_id": 3,
+ "description": "SUMMARY任务删除成功(无子节点)",
+ "config": {
+ "npuMatchNodes": {
+ "npu_node": "bench_node"
+ },
+ "benchMatchNodes": {
+ "bench_node": "npu_node"
+ },
+ "npuUnMatchNodes": [],
+ "benchUnMatchNodes": []
+ },
+ "input": {
+ "graph_data": {
+ "NPU": {
+ "node": {
+ "npu_node": {
+ "node_type": "Module",
+ "input_data": {
+ "input1": {
+ "Max": 1.0,
+ "MaxAbsErr": 0.1
+ }
+ },
+ "output_data": {
+ "output1": {
+ "Max": 2.0,
+ "MaxAbsErr": 0.1
+ }
+ },
+ "matched_node_link": [
+ "bench_node"
+ ],
+ "data": {
+ "precision_index": 0.95
+ }
+ }
+ }
+ },
+ "Bench": {
+ "node": {
+ "bench_node": {
+ "node_type": "Module",
+ "input_data": {
+ "input1": {
+ "Max": 1.0
+ }
+ },
+ "output_data": {
+ "output1": {
+ "Max": 2.0
+ }
+ },
+ "matched_node_link": [
+ "npu_node"
+ ]
+ }
+ }
+ }
+ },
+ "npu_node_name": "npu_node",
+ "bench_node_name": "bench_node",
+ "task": "summary"
+ },
+ "expected": {
+ "success": true,
+ "data": {
+ "npuMatchNodes": {},
+ "benchMatchNodes": {},
+ "npuUnMatchNodes": [
+ "npu_node"
+ ],
+ "benchUnMatchNodes": [
+ "bench_node"
+ ]
+ }
+ }
+ },
+ {
+ "case_id": 4,
+ "description": "SUMMARY任务递归删除子节点",
+ "config": {
+ "npuMatchNodes": {
+ "npu_parent": "bench_parent",
+ "npu_child1": "bench_child1",
+ "npu_child2": "bench_child2"
+ },
+ "benchMatchNodes": {
+ "bench_parent": "npu_parent",
+ "bench_child1": "npu_child1",
+ "bench_child2": "npu_child2"
+ },
+ "npuUnMatchNodes": [],
+ "benchUnMatchNodes": []
+ },
+ "input": {
+ "graph_data": {
+ "NPU": {
+ "node": {
+ "npu_parent": {
+ "node_type": "Module",
+ "subnodes": [
+ "npu_child1",
+ "npu_child2"
+ ],
+ "input_data": {
+ "parent_input": {
+ "Max": 1.0,
+ "Min": 0.1,
+ "Mean": 0.5,
+ "Norm": 0.7,
+ "MaxAbsErr": 0.1,
+ "MinAbsErr": 0.05,
+ "MeanAbsErr": 0.1,
+ "NormAbsErr": 0.1
+ }
+ },
+ "output_data": {
+ "parent_output": {
+ "Max": 2.0,
+ "Min": 0.2,
+ "Mean": 1.0,
+ "Norm": 1.4,
+ "MaxAbsErr": 0.1,
+ "MinAbsErr": 0.05,
+ "MeanAbsErr": 0.1,
+ "NormAbsErr": 0.1
+ }
+ },
+ "matched_node_link": [
+ "bench_parent"
+ ],
+ "data": {
+ "precision_index": 0.95
+ }
+ },
+ "npu_child1": {
+ "node_type": "Module",
+ "subnodes": [],
+ "input_data": {
+ "child1_input": {
+ "Max": 0.8,
+ "Min": 0.08,
+ "Mean": 0.4,
+ "Norm": 0.56,
+ "MaxAbsErr": 0.08,
+ "MinAbsErr": 0.04,
+ "MeanAbsErr": 0.08,
+ "NormAbsErr": 0.08
+ }
+ },
+ "output_data": {
+ "child1_output": {
+ "Max": 1.8,
+ "Min": 0.18,
+ "Mean": 0.9,
+ "Norm": 1.26,
+ "MaxAbsErr": 0.09,
+ "MinAbsErr": 0.045,
+ "MeanAbsErr": 0.09,
+ "NormAbsErr": 0.09
+ }
+ },
+ "matched_node_link": [
+ "bench_child1"
+ ],
+ "data": {
+ "precision_index": 0.97
+ }
+ },
+ "npu_child2": {
+ "node_type": "Module",
+ "subnodes": [],
+ "input_data": {
+ "child2_input": {
+ "Max": 0.9,
+ "Min": 0.09,
+ "Mean": 0.45,
+ "Norm": 0.63,
+ "MaxAbsErr": 0.09,
+ "MinAbsErr": 0.045,
+ "MeanAbsErr": 0.09,
+ "NormAbsErr": 0.09
+ }
+ },
+ "output_data": {
+ "child2_output": {
+ "Max": 1.9,
+ "Min": 0.19,
+ "Mean": 0.95,
+ "Norm": 1.33,
+ "MaxAbsErr": 0.095,
+ "MinAbsErr": 0.0475,
+ "MeanAbsErr": 0.095,
+ "NormAbsErr": 0.095
+ }
+ },
+ "matched_node_link": [
+ "bench_child2"
+ ],
+ "data": {
+ "precision_index": 0.96
+ }
+ }
+ }
+ },
+ "Bench": {
+ "node": {
+ "bench_parent": {
+ "node_type": "Module",
+ "subnodes": [
+ "bench_child1",
+ "bench_child2"
+ ],
+ "input_data": {
+ "parent_input": {
+ "Max": 1.0,
+ "Min": 0.1,
+ "Mean": 0.5,
+ "Norm": 0.7
+ }
+ },
+ "output_data": {
+ "parent_output": {
+ "Max": 2.0,
+ "Min": 0.2,
+ "Mean": 1.0,
+ "Norm": 1.4
+ }
+ },
+ "matched_node_link": [
+ "npu_parent"
+ ]
+ },
+ "bench_child1": {
+ "node_type": "Module",
+ "subnodes": [],
+ "input_data": {
+ "child1_input": {
+ "Max": 0.8,
+ "Min": 0.08,
+ "Mean": 0.4,
+ "Norm": 0.56
+ }
+ },
+ "output_data": {
+ "child1_output": {
+ "Max": 1.8,
+ "Min": 0.18,
+ "Mean": 0.9,
+ "Norm": 1.26
+ }
+ },
+ "matched_node_link": [
+ "npu_child1"
+ ]
+ },
+ "bench_child2": {
+ "node_type": "Module",
+ "subnodes": [],
+ "input_data": {
+ "child2_input": {
+ "Max": 0.9,
+ "Min": 0.09,
+ "Mean": 0.45,
+ "Norm": 0.63
+ }
+ },
+ "output_data": {
+ "child2_output": {
+ "Max": 1.9,
+ "Min": 0.19,
+ "Mean": 0.95,
+ "Norm": 1.33
+ }
+ },
+ "matched_node_link": [
+ "npu_child2"
+ ]
+ }
+ }
+ }
+ },
+ "npu_node_name": "npu_parent",
+ "bench_node_name": "bench_parent",
+ "task": "summary"
+ },
+ "expected": {
+ "success": true,
+ "data": {
+ "npuMatchNodes": {},
+ "benchMatchNodes": {},
+ "npuUnMatchNodes": [
+ "npu_parent",
+ "npu_child1",
+ "npu_child2"
+ ],
+ "benchUnMatchNodes": [
+ "bench_parent",
+ "bench_child1",
+ "bench_child2"
+ ]
+ }
+ }
+ },
+ {
+ "case_id": 5,
+ "description": "MD5任务删除成功",
+ "config": {
+ "npuMatchNodes": {
+ "npu_node_md5": "bench_node_md5"
+ },
+ "benchMatchNodes": {
+ "bench_node_md5": "npu_node_md5"
+ },
+ "npuUnMatchNodes": [],
+ "benchUnMatchNodes": []
+ },
+ "input": {
+ "graph_data": {
+ "NPU": {
+ "node": {
+ "npu_node_md5": {
+ "node_type": "Module",
+ "input_data": {
+ "input1": {
+ "md5": "abc123",
+ "shape": [
+ 1,
+ 3,
+ 224,
+ 224
+ ]
+ }
+ },
+ "output_data": {
+ "output1": {
+ "md5": "def456",
+ "shape": [
+ 1,
+ 1000
+ ]
+ }
+ },
+ "matched_node_link": [
+ "bench_node_md5"
+ ],
+ "data": {
+ "precision_index": 1
+ }
+ }
+ }
+ },
+ "Bench": {
+ "node": {
+ "bench_node_md5": {
+ "node_type": "Module",
+ "input_data": {
+ "input1": {
+ "md5": "abc123",
+ "shape": [
+ 1,
+ 3,
+ 224,
+ 224
+ ]
+ }
+ },
+ "output_data": {
+ "output1": {
+ "md5": "def456",
+ "shape": [
+ 1,
+ 1000
+ ]
+ }
+ },
+ "matched_node_link": [
+ "npu_node_md5"
+ ]
+ }
+ }
+ }
+ },
+ "npu_node_name": "npu_node_md5",
+ "bench_node_name": "bench_node_md5",
+ "task": "md5"
+ },
+ "expected": {
+ "success": true,
+ "data": {
+ "npuMatchNodes": {},
+ "benchMatchNodes": {},
+ "npuUnMatchNodes": [
+ "npu_node_md5"
+ ],
+ "benchUnMatchNodes": [
+ "bench_node_md5"
+ ]
+ }
+ }
+ },
+ {
+ "case_id": 6,
+ "description": "MD5任务递归删除多层子节点",
+ "config": {
+ "npuMatchNodes": {
+ "npu_parent": "bench_parent",
+ "npu_child": "bench_child",
+ "npu_grandchild": "bench_grandchild"
+ },
+ "benchMatchNodes": {
+ "bench_parent": "npu_parent",
+ "bench_child": "npu_child",
+ "bench_grandchild": "npu_grandchild"
+ },
+ "npuUnMatchNodes": [],
+ "benchUnMatchNodes": []
+ },
+ "input": {
+ "graph_data": {
+ "NPU": {
+ "node": {
+ "npu_parent": {
+ "node_type": "Module",
+ "subnodes": [
+ "npu_child"
+ ],
+ "input_data": {
+ "parent_input": {
+ "md5": "parent_in",
+ "shape": [
+ 10
+ ]
+ }
+ },
+ "output_data": {
+ "parent_output": {
+ "md5": "parent_out",
+ "shape": [
+ 10
+ ]
+ }
+ },
+ "matched_node_link": [
+ "bench_parent"
+ ],
+ "data": {
+ "precision_index": 1
+ }
+ },
+ "npu_child": {
+ "node_type": "Module",
+ "subnodes": [
+ "npu_grandchild"
+ ],
+ "input_data": {
+ "child_input": {
+ "md5": "child_in",
+ "shape": [
+ 20
+ ]
+ }
+ },
+ "output_data": {
+ "child_output": {
+ "md5": "child_out",
+ "shape": [
+ 20
+ ]
+ }
+ },
+ "matched_node_link": [
+ "bench_child"
+ ],
+ "data": {
+ "precision_index": 1
+ }
+ },
+ "npu_grandchild": {
+ "node_type": "API",
+ "subnodes": [],
+ "input_data": {
+ "grandchild_input": {
+ "md5": "grand_in",
+ "shape": [
+ 30
+ ]
+ }
+ },
+ "output_data": {
+ "grandchild_output": {
+ "md5": "grand_out",
+ "shape": [
+ 30
+ ]
+ }
+ },
+ "matched_node_link": [
+ "bench_grandchild"
+ ],
+ "data": {
+ "precision_index": 1
+ }
+ }
+ }
+ },
+ "Bench": {
+ "node": {
+ "bench_parent": {
+ "node_type": "Module",
+ "subnodes": [
+ "bench_child"
+ ],
+ "input_data": {
+ "parent_input": {
+ "md5": "parent_in",
+ "shape": [
+ 10
+ ]
+ }
+ },
+ "output_data": {
+ "parent_output": {
+ "md5": "parent_out",
+ "shape": [
+ 10
+ ]
+ }
+ },
+ "matched_node_link": [
+ "npu_parent"
+ ]
+ },
+ "bench_child": {
+ "node_type": "Module",
+ "subnodes": [
+ "bench_grandchild"
+ ],
+ "input_data": {
+ "child_input": {
+ "md5": "child_in",
+ "shape": [
+ 20
+ ]
+ }
+ },
+ "output_data": {
+ "child_output": {
+ "md5": "child_out",
+ "shape": [
+ 20
+ ]
+ }
+ },
+ "matched_node_link": [
+ "npu_child"
+ ]
+ },
+ "bench_grandchild": {
+ "node_type": "API",
+ "subnodes": [],
+ "input_data": {
+ "grandchild_input": {
+ "md5": "grand_in",
+ "shape": [
+ 30
+ ]
+ }
+ },
+ "output_data": {
+ "grandchild_output": {
+ "md5": "grand_out",
+ "shape": [
+ 30
+ ]
+ }
+ },
+ "matched_node_link": [
+ "npu_grandchild"
+ ]
+ }
+ }
+ }
+ },
+ "npu_node_name": "npu_parent",
+ "bench_node_name": "bench_parent",
+ "task": "md5"
+ },
+ "expected": {
+ "success": true,
+ "data": {
+ "npuMatchNodes": {},
+ "benchMatchNodes": {},
+ "npuUnMatchNodes": [
+ "npu_parent",
+ "npu_child",
+ "npu_grandchild"
+ ],
+ "benchUnMatchNodes": [
+ "bench_parent",
+ "bench_child",
+ "bench_grandchild"
+ ]
+ }
+ }
+ }
+]
\ No newline at end of file
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
index 0f2d04142..e70734d3e 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
@@ -17,6 +17,7 @@
import pytest
from server.app.controllers.match_nodes_controller import MatchNodesController
+from server.app.utils.global_state import GraphState
from data.test_case_factory import TestCaseFactory
@@ -27,7 +28,7 @@ class TestMatchNodesController:
@pytest.mark.parametrize("test_case", TestCaseFactory.get_process_task_add_cases(),
ids=lambda c: f"{c['case_id']}:{c['description']}")
def test_process_task_add(self, test_case):
- """测试添加子节点层功能"""
+ """测试添加节点功能"""
graph_data, npu_node_name, bench_node_name, task = test_case['input'].values()
expected = test_case['expected']
actual = MatchNodesController.process_task_add(graph_data, npu_node_name, bench_node_name, task)
@@ -36,9 +37,32 @@ class TestMatchNodesController:
@pytest.mark.parametrize("test_case", TestCaseFactory.get_process_task_delete_cases(),
ids=lambda c: f"{c['case_id']}:{c['description']}")
def test_process_task_delete(self, test_case):
- """测试删除子节点层功能"""
+ """测试删除节点功能"""
+ if(test_case.get('config', None)):
+ GraphState.set_global_value("config_data", test_case['config'])
graph_data, npu_node_name, bench_node_name, task = test_case['input'].values()
expected = test_case['expected']
actual = MatchNodesController.process_task_delete(graph_data, npu_node_name, bench_node_name, task)
assert actual == expected
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_process_task_add_child_layer_cases(),
+ ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_process_task_add_child_layer(self, test_case):
+ """测试添加子节点层功能"""
+ graph_data, npu_node_name, bench_node_name, task = test_case['input'].values()
+ excepted = test_case['expected']
+ actual = MatchNodesController.process_task_add_child_layer(graph_data, npu_node_name, bench_node_name, task)
+ print(actual)
+ assert actual == excepted
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_process_task_delete_child_layer_cases(),
+ ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_process_task_delete_child_layer(self, test_case):
+ """测试删除子节点层功能"""
+ if(test_case.get('config', None)):
+ GraphState.set_global_value("config_data", test_case['config'])
+ graph_data, npu_node_name, bench_node_name, task = test_case['input'].values()
+ excepted = test_case['expected']
+ actual = MatchNodesController.process_task_delete_child_layer(graph_data, npu_node_name, bench_node_name, task)
+ assert actual == excepted
--
Gitee
From 9a83061a1e546cd69dd30833337d795754034cd0 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Wed, 18 Jun 2025 10:18:49 +0800
Subject: [PATCH 02/22] =?UTF-8?q?=E2=9C=A8=20feat:=20=E6=B7=BB=E5=8A=A0tes?=
=?UTF-8?q?t=5Fprocess=5Ftask=5Fadd=5Fchild=5Flayer=5Fby=5Fconfig=20?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app/controllers/match_nodes_controller.py | 13 +-
.../server/app/service/graph_service.py | 4 +-
.../test/data/test_case_factory.py | 4 +
.../process_task_add_case.json | 39 +-
...rocess_task_add_child_layer_by_config.json | 448 ++++++++++++++++++
.../test_match_nodes_controller.py | 9 +
6 files changed, 493 insertions(+), 24 deletions(-)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_match_node_controller/process_task_add_child_layer_by_config.json
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
index 89d27907d..c1864e367 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
@@ -25,12 +25,19 @@ class MatchNodesController:
def is_same_node_type(graph_data, npu_node_name, bench_node_name):
npu_node_type = graph_data.get('NPU', {}).get('node', {}).get(npu_node_name, {}).get('node_type')
bench_node_type = graph_data.get('Bench', {}).get('node', {}).get(bench_node_name, {}).get('node_type')
+
if npu_node_type is None or bench_node_type is None or npu_node_type != bench_node_type:
return False
return True
@staticmethod
def process_task_add(graph_data, npu_node_name, bench_node_name, task):
+ if not MatchNodesController.is_same_node_type(graph_data, npu_node_name, bench_node_name):
+ return {
+ 'success': False,
+ 'error': '节点类型不一致,无法添加匹配关系'
+ }
+
result = {}
if task == 'md5':
result = MatchNodesController.process_md5_task_add(graph_data, npu_node_name, bench_node_name)
@@ -45,7 +52,7 @@ class MatchNodesController:
@staticmethod
def process_task_delete(graph_data, npu_node_name, bench_node_name, task):
- result = {}
+
if task == 'md5':
result = MatchNodesController.process_md5_task_delete(graph_data, npu_node_name, bench_node_name)
elif task == 'summary':
@@ -234,8 +241,8 @@ class MatchNodesController:
@staticmethod
def process_summary_task_add(graph_data, npu_node_name, bench_node_name):
# 节点信息提取
- npu_node_data = graph_data.get('NPU', {}).get('node', {}).get(npu_node_name)
- bench_node_data = graph_data.get('Bench', {}).get('node', {}).get(bench_node_name)
+ npu_node_data = graph_data.get('NPU', {}).get('node', {}).get(npu_node_name, {})
+ bench_node_data = graph_data.get('Bench', {}).get('node', {}).get(bench_node_name, {})
# 计算统计误差
intput_statistical_diff = MatchNodesController.calculate_statistical_diff(
npu_node_data.get('input_data'), bench_node_data.get('input_data'), npu_node_name, bench_node_name
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
index 014b54699..2e218519e 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
@@ -114,8 +114,8 @@ class GraphService:
# 读取全局信息,tag层面
if graph_data.get('MicroSteps', {}):
config['microSteps'] = graph_data.get('MicroSteps')
- if config.get('Tooltips', {}):
- config['tooltips'] = graph_data.get('Tooltips')
+ if graph_data.get('ToolTip', {}):
+ config['tooltips'] = graph_data.get('ToolTip')
config['overflowCheck'] = bool(graph_data.get('OverflowCheck')) if 'OverflowCheck' in graph_data else True
config['isSingleGraph'] = False if graph_data.get(NPU) else True
# 读取配置信息,run层面
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
index 877bb2c42..b3b22b2e1 100644
--- 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
@@ -38,6 +38,10 @@ class TestCaseFactory:
def get_process_task_delete_child_layer_cases(cls):
return cls._load_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_cases('test_match_node_controller\\process_task_add_child_layer_by_config.json')
+
@classmethod
def _load_cases(cls, filename):
"""从JSON文件加载测试用例"""
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
index d4f298919..5590aca05 100644
--- 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
@@ -76,26 +76,26 @@
}
}
}
- },
- "Bench": {
- "node": {
- "bench_node": {
- "node_type": "Module",
- "matched_node_link": [],
- "input_data": {
- "input_arg0": {
+ }
+ },
+ "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"
},
- "input_arg1": {
- "md5": "abcdef1234567890"
- },
- "output_data": {
- "output_arg0": {
- "md5": "1234567890abcdef"
- },
- "output_arg1": {
- "md5": "1234567890abcdef"
- }
+ "output_arg1": {
+ "md5": "1234567890abcdef"
}
}
}
@@ -142,7 +142,8 @@
"task": "md5"
},
"expected": {
- "success": true
+ "success": false,
+ "error": "节点类型不一致,无法添加匹配关系"
}
},
{
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 000000000..934d1b3b9
--- /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/unit/controllers/test_match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
index e70734d3e..f007fb0e2 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
@@ -65,4 +65,13 @@ class TestMatchNodesController:
excepted = test_case['expected']
actual = MatchNodesController.process_task_delete_child_layer(graph_data, npu_node_name, bench_node_name, task)
assert actual == excepted
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_process_task_add_child_layer_by_config_cases(),
+ ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_process_task_add_child_layer_by_config(self, test_case):
+ """测试根据配置文件添加子节点层功能"""
+ graph_data, match_node_links, task = test_case['input'].values()
+ excepted = test_case['expected']
+ actual = MatchNodesController.process_task_add_child_layer_by_config(graph_data, match_node_links, task)
+ assert actual == excepted
--
Gitee
From bc28e98ebed8817ee244d4f0cba528588b286668 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Wed, 18 Jun 2025 17:30:06 +0800
Subject: [PATCH 03/22] =?UTF-8?q?=F0=9F=A7=AA=20test:=E5=88=86=E6=94=AF?=
=?UTF-8?q?=E8=A6=86=E7=9B=96=E7=8E=8742%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../server/app/controllers/hierarchy.py | 1 -
.../layout_hierarchy_controller.py | 6 +-
.../tb_graph_ascend/test/conftest.py | 4 +-
.../test/data/test_case_factory.py | 16 +
.../change_expand_state_case.json | 815 +++++++++++++++
.../test_compare_statis_graph.vis | 945 ++++++++++++++++++
.../test_single_statis_graph.vis | 523 ++++++++++
.../update_hierarchy_data_case.json | 245 +++++
.../test_layout_hierarchy_controller.py | 31 +
9 files changed, 2579 insertions(+), 7 deletions(-)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_compare_statis_graph.vis
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_single_statis_graph.vis
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/hierarchy.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/hierarchy.py
index 753f8e50f..cebe26a70 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/hierarchy.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/hierarchy.py
@@ -290,7 +290,6 @@ class Hierarchy:
for node_name, node_info in self.current_hierarchy.items():
graph_node_info = self.graph.get('node', {}).get(node_name, {})
node_info['matchedNodeLink'] = graph_node_info.get('matched_node_link', [])
- node_info['precisionIndex'] = graph_node_info.get('data', {}).get('precision_index', "NaN"), # 精度
return self.current_hierarchy
def get_hierarchy(self):
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py
index 126119f7c..8d6fa8389 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py
@@ -13,7 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
-import time
from .hierarchy import Hierarchy
@@ -30,9 +29,10 @@ class LayoutHierarchyController:
@staticmethod
def change_expand_state(node_name, graph_type, graph, micro_step):
+ print("change_expand_state", node_name, graph_type, micro_step)
if node_name == 'root':
LayoutHierarchyController.hierarchy[graph_type] = Hierarchy(graph_type, graph, micro_step)
- elif LayoutHierarchyController.hierarchy[graph_type]:
+ elif LayoutHierarchyController.hierarchy.get(graph_type, None):
LayoutHierarchyController.hierarchy[graph_type].update_graph_data(node_name, graph)
LayoutHierarchyController.hierarchy[graph_type].update_graph_shape()
LayoutHierarchyController.hierarchy[graph_type].update_graph_position()
@@ -42,7 +42,7 @@ class LayoutHierarchyController:
@staticmethod
def update_hierarchy_data(graph_type):
- if LayoutHierarchyController.hierarchy[graph_type]:
+ if LayoutHierarchyController.hierarchy.get(graph_type, None):
return LayoutHierarchyController.hierarchy[graph_type].update_hierarchy_data()
else:
return {}
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py
index 4c582b816..e2af65460 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py
@@ -20,12 +20,10 @@ from data.test_case_factory import TestCaseFactory
@pytest.fixture(scope="function", autouse=True)
-def reset_global_state():
+def reset_global_state(request):
"""每个测试后重置全局状态"""
-
# 执行测试
yield
-
# 恢复原始状态
GraphState.init_defaults()
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
index b3b22b2e1..2f1a79085 100644
--- 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
@@ -41,6 +41,22 @@ class TestCaseFactory:
@classmethod
def get_process_task_add_child_layer_by_config_cases(cls):
return cls._load_cases('test_match_node_controller\\process_task_add_child_layer_by_config.json')
+
+ @classmethod
+ def get_change_expand_state_cases(cls):
+ return cls._load_cases('test_layout_hierarchy_controller\\change_expand_state_case.json')
+
+ @classmethod
+ def get_update_hierarchy_data_cases(cls):
+ return cls._load_cases('test_layout_hierarchy_controller\\update_hierarchy_data_case.json')
+
+ @classmethod
+ def load_single_graph_test_data(cls):
+ return cls._load_cases('test_layout_hierarchy_controller\\test_single_statis_graph.vis')
+
+ @classmethod
+ def load_compare_graph_test_data(cls):
+ return cls._load_cases('test_layout_hierarchy_controller\\test_compare_statis_graph.vis')
@classmethod
def _load_cases(cls, filename):
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
index e69de29bb..5536e45f2 100644
--- 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
@@ -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/test_compare_statis_graph.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_compare_statis_graph.vis
new file mode 100644
index 000000000..410cc2fc9
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_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/test_single_statis_graph.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_single_statis_graph.vis
new file mode 100644
index 000000000..323db0b2a
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_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
index e69de29bb..1aba4c270 100644
--- 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
@@ -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/unit/controllers/test_layout_hierarchy_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py
index ee2432f47..ffd42a4f3 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py
@@ -13,3 +13,34 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
+
+import pytest
+from data.test_case_factory import TestCaseFactory
+from server.app.utils.global_state import SINGLE
+from server.app.controllers.layout_hierarchy_controller import LayoutHierarchyController
+
+
+@pytest.mark.unit
+class TestLayoutHierarchyController:
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_change_expand_state_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_change_expand_state(self, test_case):
+ graph_type = test_case['input']['graph_type']
+ if graph_type == SINGLE:
+ test_case['input']['graph'] = TestCaseFactory.load_single_graph_test_data()
+ else:
+ test_case['input']['graph'] = TestCaseFactory.load_compare_graph_test_data().get(graph_type, {})
+ node_name, graph_type, graph, micro_step = test_case['input'].values()
+ excepted = test_case['expected']
+ actual = LayoutHierarchyController.change_expand_state(node_name, graph_type, graph, micro_step)
+
+ assert actual == excepted
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_update_hierarchy_data_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_update_hierarchy_data(self, test_case):
+ graph_type = test_case['input']['graph_type']
+ excepted = test_case['expected']
+ actual = LayoutHierarchyController.update_hierarchy_data(graph_type)
+ print("graph_type===", graph_type)
+ print(actual)
+ assert actual == excepted
--
Gitee
From feeb3fd9b7ddf3e94fee98bc0bcc8fd41f6a14b2 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Thu, 19 Jun 2025 16:47:08 +0800
Subject: [PATCH 04/22] =?UTF-8?q?=F0=9F=A7=AA=20test:=20=E5=88=86=E6=94=AF?=
=?UTF-8?q?=E8=A6=86=E7=9B=96=E7=8E=8762%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tb_graph_ascend/pytest.ini | 8 +
.../layout_hierarchy_controller.py | 1 -
.../app/controllers/match_nodes_controller.py | 1 -
.../server/app/service/graph_service.py | 2 +
.../tb_graph_ascend/server/plugin.py | 1 +
.../tb_graph_ascend/test/conftest.py | 4 +-
.../test_compare_resnet_data.vis | 17016 ++++++++++++++++
.../test_load_graph_all_node_list.json | 317 +
.../test_load_graph_config_info.json | 57 +
.../test/data/test_case_factory.py | 45 +-
.../integration/views/test_graph_views.py | 93 +
.../tb_graph_ascend/test/pytest.ini | 12 -
.../test_layout_hierarchy_controller.py | 3 -
.../test_match_nodes_controller.py | 1 -
14 files changed, 17530 insertions(+), 31 deletions(-)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/pytest.ini
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_compare_resnet_data.vis
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_all_node_list.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_config_info.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
delete mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/pytest.ini
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/pytest.ini b/plugins/tensorboard-plugins/tb_graph_ascend/pytest.ini
new file mode 100644
index 000000000..5784e1ce1
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/pytest.ini
@@ -0,0 +1,8 @@
+[pytest]
+testpaths =
+ test/unit
+ test/integration
+
+markers =
+ unit: unit tests
+ integration: integration tests
\ No newline at end of file
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py
index 8d6fa8389..a88f09474 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/layout_hierarchy_controller.py
@@ -29,7 +29,6 @@ class LayoutHierarchyController:
@staticmethod
def change_expand_state(node_name, graph_type, graph, micro_step):
- print("change_expand_state", node_name, graph_type, micro_step)
if node_name == 'root':
LayoutHierarchyController.hierarchy[graph_type] = Hierarchy(graph_type, graph, micro_step)
elif LayoutHierarchyController.hierarchy.get(graph_type, None):
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
index c1864e367..1860dcaa3 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
@@ -183,7 +183,6 @@ class MatchNodesController:
# 2. 目标节点的子节点和标杆侧的子节点添加匹配关系
def process_child_layer(npu_child_nodes):
- print("process_child_layer", npu_child_nodes)
for npu_subnode_name in npu_child_nodes:
npu_subnode_info = npu_nodes.get(npu_subnode_name, {})
matched_node_link = npu_subnode_info.get('matched_node_link', [])
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
index 2e218519e..ea01bfa92 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
@@ -31,9 +31,11 @@ class GraphService:
@staticmethod
def load_meta_dir():
"""Scan logdir for directories containing .vis files, modified to return a tuple of (run, tag)."""
+
logdir = GraphState.get_global_value('logdir')
runs = GraphState.get_global_value('runs', {})
first_run_tags = GraphState.get_global_value('first_run_tags', {})
+
meta_dir = {}
for root, _, files in GraphUtils.walk_with_max_depth(logdir, 2):
for file in files:
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/plugin.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/plugin.py
index 192843038..2c65227a9 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/plugin.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/plugin.py
@@ -47,6 +47,7 @@ class GraphsPlugin(base_plugin.TBPlugin):
context: A base_plugin.TBContext instance.
"""
super().__init__(context)
+ GraphState.reset_global_state()
self._data_provider = context.data_provider
self.logdir = os.path.abspath(os.path.expanduser(context.logdir.rstrip('/')))
# 将logdir赋值给global_state中的logdir属性,方便其他模块使用
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py
index e2af65460..ab0aeb977 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/conftest.py
@@ -22,10 +22,12 @@ from data.test_case_factory import TestCaseFactory
@pytest.fixture(scope="function", autouse=True)
def reset_global_state(request):
"""每个测试后重置全局状态"""
+ print('module', request.module.__name__)
# 执行测试
yield
# 恢复原始状态
- GraphState.init_defaults()
+ if request.module.__name__ != "test_graph_views":
+ GraphState.init_defaults()
def pytest_addoption(parser):
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_compare_resnet_data.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_compare_resnet_data.vis
new file mode 100644
index 000000000..3cc29203c
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_compare_resnet_data.vis
@@ -0,0 +1,17016 @@
+{
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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": "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, \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.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, \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": "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, \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.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, \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.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, \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.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, \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": "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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.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, \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.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, \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.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, \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": "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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
+ }
+ },
+ "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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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.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, \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.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, \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.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, \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": "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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.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, \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.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, \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.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, \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": "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, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \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.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, \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.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, \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.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, \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": "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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%, \u7531\u4e8eMean\u5c0f\u4e8e1e-06, \u5efa\u8bae\u4e0d\u53c2\u8003\u6b64\u76f8\u5bf9\u8bef\u5dee\uff0c\u8bf7\u53c2\u8003\u7edd\u5bf9\u8bef\u5dee",
+ "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": "\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"
+ }
+ },
+ "MicroSteps": 1,
+ "task": "summary"
+}
\ 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 000000000..31d53cd58
--- /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 000000000..dab080948
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_load_graph_config_info.json
@@ -0,0 +1,57 @@
+[
+ {
+ "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": []
+ }
+ }
+ }
+]
\ 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
index 2f1a79085..5f61d033b 100644
--- 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
@@ -20,47 +20,68 @@ import os
class TestCaseFactory:
"""管理所有测试用例的统一工厂"""
- CASE_DIR = os.path.join(os.path.dirname(__file__), 'ut_test_cases')
+ 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_cases('test_match_node_controller\\process_task_add_case.json')
+ 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_cases('test_match_node_controller\\process_task_delete_case.json')
+ 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_cases('test_match_node_controller\\process_task_add_child_layer.json')
+ 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_cases('test_match_node_controller\\process_task_delete_child_layer.json')
+ 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_cases('test_match_node_controller\\process_task_add_child_layer_by_config.json')
+ 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_cases('test_layout_hierarchy_controller\\change_expand_state_case.json')
+ 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_cases('test_layout_hierarchy_controller\\update_hierarchy_data_case.json')
+ 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_cases('test_layout_hierarchy_controller\\test_single_statis_graph.vis')
+ return cls._load_ut_cases('test_layout_hierarchy_controller\\test_single_statis_graph.vis')
@classmethod
def load_compare_graph_test_data(cls):
- return cls._load_cases('test_layout_hierarchy_controller\\test_compare_statis_graph.vis')
+ return cls._load_ut_cases('test_layout_hierarchy_controller\\test_compare_statis_graph.vis')
+
+ @classmethod
+ def _load_ut_cases(cls, filename):
+ """从JSON文件加载测试用例"""
+ path = os.path.join(cls.UT_CASE_DIR, filename)
+ 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(cls):
+ return cls._load_st_cases('test_load_graph_all_node_list.json')
@classmethod
- def _load_cases(cls, filename):
+ def load_compare_resnet_test_data(cls):
+ return cls._load_st_cases('test_compare_resnet_data.vis')
+
+ @classmethod
+ def _load_st_cases(cls, filename):
"""从JSON文件加载测试用例"""
- path = os.path.join(cls.CASE_DIR, filename)
+ path = os.path.join(cls.ST_CASE_DIR, filename)
with open(path, 'r', encoding='utf-8') as f:
return json.load(f)
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
new file mode 100644
index 000000000..6e19efd9e
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
@@ -0,0 +1,93 @@
+# 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 pytest
+import json
+from types import SimpleNamespace
+from pathlib import Path
+from werkzeug.wrappers import Request
+from werkzeug.test import EnvironBuilder
+from data.test_case_factory import TestCaseFactory
+from server.app.utils.global_state import GraphState
+from server.app.views.graph_views import GraphView
+
+
+@pytest.mark.integration
+class TestGraphViews:
+
+ captured = SimpleNamespace(status=None, headers=None)
+
+ @staticmethod
+ def start_response(status, response_headers):
+ TestGraphViews.captured.status = status
+ TestGraphViews.captured.headers = dict(response_headers)
+ return lambda x: None # 必须返回一个 writer callable
+
+ @staticmethod
+ def create_mock_request(path="/meta"):
+ builder = EnvironBuilder(path=path)
+ return builder.get_environ()
+
+ @pytest.mark.parametrize("test_case",
+ [
+ {"case_id": "1",
+ "description": "test_load_meta_dir",
+ "excepted":{'st_test_cases': ['test_compare_resnet_data']}
+ }
+ ],
+ ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_load_meta_dir(self, test_case):
+ logdir = Path(__file__).resolve().parent.parent.parent / 'data' / 'st_test_cases'
+ GraphState.set_global_value('logdir', str(logdir))
+ # 构造请求
+ request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_meta_dir")
+ response_iter = GraphView.load_meta_dir(request, TestGraphViews.start_response)
+ excepted = test_case['excepted']
+ # 获取响应内容
+ response_body = json.loads(b''.join(response_iter).decode('utf-8'))
+ assert response_body == excepted
+ assert TestGraphViews.captured.status == "200 OK"
+ assert TestGraphViews.captured.headers["Content-Type"] == "application/json"
+
+ @pytest.mark.parametrize("test_case", [{"case_id": "2", "description": "test_load_graph_data"}], ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_load_graph_data(self, test_case):
+ request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_graph_data?run=st_test_cases&tag=test_compare_resnet_data")
+ response_iter = GraphView.load_graph_data(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ runs = GraphState.get_global_value('runs')
+ current_run = GraphState.get_global_value('current_run')
+ current_tag = GraphState.get_global_value('current_tag')
+ assert current_run == runs.get('st_test_cases')
+ assert current_tag == 'test_compare_resnet_data'
+ assert TestGraphViews.captured.status == "200 OK"
+ assert TestGraphViews.captured.headers["Content-Type"] == "text/event-stream; charset=utf-8"
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_load_graph_config_info_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_load_graph_config_info(self, test_case):
+ request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_graph_config_info?run=st_test_cases&tag=test_compare_resnet_data")
+ response_iter = GraphView.load_graph_config_info(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ excepted = test_case['expected']
+ assert response_body == json.dumps(excepted)
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_load_graph_all_node_list(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_load_graph_all_node_list(self, test_case):
+ request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_graph_all_node_list?run=st_test_cases&tag=test_compare_resnet_data")
+ response_iter = GraphView.load_graph_all_node_list(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ excepted = test_case['expected']
+ assert response_body == json.dumps(excepted)
+
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/pytest.ini b/plugins/tensorboard-plugins/tb_graph_ascend/test/pytest.ini
deleted file mode 100644
index 532b3cd39..000000000
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/pytest.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[pytest]
-testpaths =
- tests/unit
- tests/functional
-
-markers =
- unit: unit tests
- functional: functional tests
- graph: graph module tests
- slow: mark test as slow to run
- smoke: smoke tests
- large_dataset: tests requiring large datasets
\ No newline at end of file
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py
index ffd42a4f3..23ca0662f 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_layout_hierarchy_controller.py
@@ -33,7 +33,6 @@ class TestLayoutHierarchyController:
node_name, graph_type, graph, micro_step = test_case['input'].values()
excepted = test_case['expected']
actual = LayoutHierarchyController.change_expand_state(node_name, graph_type, graph, micro_step)
-
assert actual == excepted
@pytest.mark.parametrize("test_case", TestCaseFactory.get_update_hierarchy_data_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
@@ -41,6 +40,4 @@ class TestLayoutHierarchyController:
graph_type = test_case['input']['graph_type']
excepted = test_case['expected']
actual = LayoutHierarchyController.update_hierarchy_data(graph_type)
- print("graph_type===", graph_type)
- print(actual)
assert actual == excepted
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
index f007fb0e2..a677b968b 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/unit/controllers/test_match_nodes_controller.py
@@ -52,7 +52,6 @@ class TestMatchNodesController:
graph_data, npu_node_name, bench_node_name, task = test_case['input'].values()
excepted = test_case['expected']
actual = MatchNodesController.process_task_add_child_layer(graph_data, npu_node_name, bench_node_name, task)
- print(actual)
assert actual == excepted
@pytest.mark.parametrize("test_case", TestCaseFactory.get_process_task_delete_child_layer_cases(),
--
Gitee
From b1b258bf4104a5f843ad81e7ec47284fb51b42a8 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Fri, 20 Jun 2025 15:14:53 +0800
Subject: [PATCH 05/22] =?UTF-8?q?=F0=9F=A7=AA=20test:=20=E5=88=86=E6=94=AF?=
=?UTF-8?q?=E8=A6=86=E7=9B=96=E7=8E=8766%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
..._data.vis => mock_compare_resnet_data.vis} | 0
.../st_test_cases/test_add_match_nodes.json | 318 ++++
.../test_change_node_expand_state.json | 1650 +++++++++++++++++
.../test_delete_match_nodes.json | 320 ++++
.../test_update_hierarchy_data.json | 474 +++++
.../test/data/test_case_factory.py | 24 +-
...raph.vis => mock_compare_statis_graph.vis} | 0
...graph.vis => mock_single_statis_graph.vis} | 0
.../integration/views/test_graph_views.py | 51 +-
9 files changed, 2826 insertions(+), 11 deletions(-)
rename plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/{test_compare_resnet_data.vis => mock_compare_resnet_data.vis} (100%)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_change_node_expand_state.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_delete_match_nodes.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_hierarchy_data.json
rename plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/{test_compare_statis_graph.vis => mock_compare_statis_graph.vis} (100%)
rename plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/{test_single_statis_graph.vis => mock_single_statis_graph.vis} (100%)
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_compare_resnet_data.vis b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis
similarity index 100%
rename from plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_compare_resnet_data.vis
rename to plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis
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 000000000..2662bf3a4
--- /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_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 000000000..da8c16519
--- /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 000000000..89185fc8a
--- /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_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 000000000..8883046f1
--- /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": "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",
+ "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
index 5f61d033b..51e73c164 100644
--- 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
@@ -53,11 +53,11 @@ class TestCaseFactory:
@classmethod
def load_single_graph_test_data(cls):
- return cls._load_ut_cases('test_layout_hierarchy_controller\\test_single_statis_graph.vis')
+ 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\\test_compare_statis_graph.vis')
+ return cls._load_ut_cases('test_layout_hierarchy_controller\\mock_compare_statis_graph.vis')
@classmethod
def _load_ut_cases(cls, filename):
@@ -72,12 +72,28 @@ class TestCaseFactory:
return cls._load_st_cases('test_load_graph_config_info.json')
@classmethod
- def get_load_graph_all_node_list(cls):
+ 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 load_compare_resnet_test_data(cls):
- return cls._load_st_cases('test_compare_resnet_data.vis')
+ return cls._load_st_cases('mock_compare_resnet_data.vis')
@classmethod
def _load_st_cases(cls, filename):
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_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
similarity index 100%
rename from plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_compare_statis_graph.vis
rename to plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_compare_statis_graph.vis
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_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
similarity index 100%
rename from plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/test_single_statis_graph.vis
rename to plugins/tensorboard-plugins/tb_graph_ascend/test/data/ut_test_cases/test_layout_hierarchy_controller/mock_single_statis_graph.vis
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
index 6e19efd9e..f6ba024c4 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
@@ -29,6 +29,8 @@ from server.app.views.graph_views import GraphView
class TestGraphViews:
captured = SimpleNamespace(status=None, headers=None)
+
+ mock_vis_tag = 'mock_compare_resnet_data'
@staticmethod
def start_response(status, response_headers):
@@ -45,7 +47,7 @@ class TestGraphViews:
[
{"case_id": "1",
"description": "test_load_meta_dir",
- "excepted":{'st_test_cases': ['test_compare_resnet_data']}
+ "excepted":{'st_test_cases': [mock_vis_tag]}
}
],
ids=lambda c: f"{c['case_id']}:{c['description']}")
@@ -64,30 +66,65 @@ class TestGraphViews:
@pytest.mark.parametrize("test_case", [{"case_id": "2", "description": "test_load_graph_data"}], ids=lambda c: f"{c['case_id']}:{c['description']}")
def test_load_graph_data(self, test_case):
- request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_graph_data?run=st_test_cases&tag=test_compare_resnet_data")
+ request = TestGraphViews.create_mock_request(f"/data/plugin/graph_ascend/load_graph_data?run=st_test_cases&tag={TestGraphViews.mock_vis_tag}")
response_iter = GraphView.load_graph_data(request, TestGraphViews.start_response)
response_body = b''.join(response_iter).decode('utf-8')
runs = GraphState.get_global_value('runs')
current_run = GraphState.get_global_value('current_run')
current_tag = GraphState.get_global_value('current_tag')
assert current_run == runs.get('st_test_cases')
- assert current_tag == 'test_compare_resnet_data'
+ assert current_tag == TestGraphViews.mock_vis_tag
assert TestGraphViews.captured.status == "200 OK"
assert TestGraphViews.captured.headers["Content-Type"] == "text/event-stream; charset=utf-8"
@pytest.mark.parametrize("test_case", TestCaseFactory.get_load_graph_config_info_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
def test_load_graph_config_info(self, test_case):
- request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_graph_config_info?run=st_test_cases&tag=test_compare_resnet_data")
+ request = TestGraphViews.create_mock_request(f"/data/plugin/graph_ascend/load_graph_config_info?run=st_test_cases&tag={TestGraphViews.mock_vis_tag}")
response_iter = GraphView.load_graph_config_info(request, TestGraphViews.start_response)
response_body = b''.join(response_iter).decode('utf-8')
excepted = test_case['expected']
assert response_body == json.dumps(excepted)
- @pytest.mark.parametrize("test_case", TestCaseFactory.get_load_graph_all_node_list(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_load_graph_all_node_list_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
def test_load_graph_all_node_list(self, test_case):
- request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/load_graph_all_node_list?run=st_test_cases&tag=test_compare_resnet_data")
+ request = TestGraphViews.create_mock_request(f"/data/plugin/graph_ascend/load_graph_all_node_list?run=st_test_cases&tag={TestGraphViews.mock_vis_tag}")
response_iter = GraphView.load_graph_all_node_list(request, TestGraphViews.start_response)
response_body = b''.join(response_iter).decode('utf-8')
excepted = test_case['expected']
assert response_body == json.dumps(excepted)
-
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_change_node_expand_state_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_change_node_expand_state(self, test_case):
+ input = test_case['input']
+ excepted = test_case['expected']
+ request = TestGraphViews.create_mock_request(input)
+ response_iter = GraphView.change_node_expand_state(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ assert response_body == json.dumps(excepted)
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_test_add_match_nodes_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_add_match_nodes(self, test_case):
+ input = test_case['input']
+ excepted = test_case['expected']
+ request = TestGraphViews.create_mock_request(input)
+ response_iter = GraphView.add_match_nodes(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ assert response_body == json.dumps(excepted)
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_test_update_hierarchy_data_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_update_hierarchy_data(self, test_case):
+ input = test_case['input']
+ excepted = test_case['expected']
+ request = TestGraphViews.create_mock_request(input)
+ response_iter = GraphView.update_hierarchy_data(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ assert response_body == json.dumps(excepted)
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_test_delete_match_nodes_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_delete_match_nodes(self, test_case):
+ input = test_case['input']
+ excepted = test_case['expected']
+ request = TestGraphViews.create_mock_request(input)
+ response_iter = GraphView.delete_match_nodes(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ assert response_body == json.dumps(excepted)
--
Gitee
From f7845f4ed4f11a3d3fcd0d548f4e7afafb951e0b Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Sat, 21 Jun 2025 15:54:45 +0800
Subject: [PATCH 06/22] =?UTF-8?q?=F0=9F=A7=AA=20test:=20=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=8A=82=E7=82=B9=E4=BF=A1=E6=81=AF=EF=BC=8C?=
=?UTF-8?q?=E5=88=86=E6=94=AF=E8=A6=86=E7=9B=96=E6=97=8568%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mock_compare_resnet_data.vis.config | 4 +
.../st_test_cases/test_get_node_info.json | 194 ++++++++++++++++++
.../test/data/test_case_factory.py | 4 +
.../integration/views/test_graph_views.py | 10 +
4 files changed, 212 insertions(+)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_get_node_info.json
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 000000000..9b08a108b
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config
@@ -0,0 +1,4 @@
+{
+ "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0",
+ "Module.fc.Linear.backward.0": "Module.fc.Linear.backward.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 000000000..fb19100d6
--- /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/test_case_factory.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/test_case_factory.py
index 51e73c164..42e069316 100644
--- 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
@@ -91,6 +91,10 @@ class TestCaseFactory:
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 load_compare_resnet_test_data(cls):
return cls._load_st_cases('mock_compare_resnet_data.vis')
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
index f6ba024c4..d7986b35d 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
@@ -128,3 +128,13 @@ class TestGraphViews:
response_iter = GraphView.delete_match_nodes(request, TestGraphViews.start_response)
response_body = b''.join(response_iter).decode('utf-8')
assert response_body == json.dumps(excepted)
+
+ @pytest.mark.parametrize("test_case", TestCaseFactory.get_test_get_node_info_cases(), ids=lambda c: f"{c['case_id']}:{c['description']}")
+ def test_get_node_info(self, test_case):
+ input = test_case['input']
+ excepted = test_case['expected']
+ request = TestGraphViews.create_mock_request(input)
+ response_iter = GraphView.get_node_info(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ assert response_body == json.dumps(excepted)
+
--
Gitee
From 2b705788ed4a59b83cf62a799cf9a49b96718675 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Sat, 21 Jun 2025 15:56:46 +0800
Subject: [PATCH 07/22] =?UTF-8?q?=E2=9C=A8=20feat:=20=E5=AF=BC=E5=87=BA?=
=?UTF-8?q?=E8=8A=82=E7=82=B9=E5=8F=AA=E5=AF=BC=E5=87=BA=E6=89=8B=E5=8A=A8?=
=?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=8A=82=E7=82=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app/controllers/match_nodes_controller.py | 19 +++++----
.../server/app/service/graph_service.py | 2 +-
.../server/app/utils/global_state.py | 40 +++++++++++++------
.../server/app/views/graph_views.py | 1 +
4 files changed, 42 insertions(+), 20 deletions(-)
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
index 1860dcaa3..f5a01f0e1 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/controllers/match_nodes_controller.py
@@ -328,6 +328,7 @@ class MatchNodesController:
def add_config_match_nodes(npu_node_name, bench_node_name):
config_data = GraphState.get_global_value("config_data")
# 匹配列表和未匹配列表
+ manual_match_nodes = config_data.setdefault('manualMatchNodes', {})
npu_match_nodes_list = config_data.setdefault('npuMatchNodes', {})
bench_match_nodes_list = config_data.setdefault('benchMatchNodes', {})
npu_unmatehed_name_list = config_data.setdefault('npuUnMatchNodes', [])
@@ -335,25 +336,29 @@ class MatchNodesController:
# 更新匹配列表和未匹配列表
if str(npu_node_name) in npu_unmatehed_name_list:
npu_unmatehed_name_list.remove(str(npu_node_name))
- if str(str(bench_node_name)) in bench_unmatehed_name_list:
+ if str(bench_node_name) in bench_unmatehed_name_list:
bench_unmatehed_name_list.remove(str(bench_node_name))
- npu_match_nodes_list[npu_node_name] = bench_node_name
- bench_match_nodes_list[bench_node_name] = npu_node_name
+ manual_match_nodes[str(npu_node_name)] = str(bench_node_name)
+ npu_match_nodes_list[str(npu_node_name)] = str(bench_node_name)
+ bench_match_nodes_list[str(bench_node_name)] = str(npu_node_name)
GraphState.set_global_value("config_data", config_data)
@staticmethod
def delete_config_match_nodes(npu_node_name, bench_node_name):
config_data = GraphState.get_global_value("config_data")
# 匹配列表和未匹配列表
+ manual_match_nodes = config_data.setdefault('manualMatchNodes', {})
npu_match_nodes_list = config_data.setdefault('npuMatchNodes', {})
bench_match_nodes_list = config_data.setdefault('benchMatchNodes', {})
npu_unmatehed_name_list = config_data.setdefault('npuUnMatchNodes', [])
bench_unmatehed_name_list = config_data.setdefault('benchUnMatchNodes', [])
# 更新匹配列表和未匹配列表
- if npu_node_name in npu_match_nodes_list:
- del npu_match_nodes_list[npu_node_name]
- if bench_node_name in bench_match_nodes_list:
- del bench_match_nodes_list[bench_node_name]
+ if str(npu_node_name) in manual_match_nodes:
+ del manual_match_nodes[str(npu_node_name)]
+ if str(npu_node_name) in npu_match_nodes_list:
+ del npu_match_nodes_list[str(npu_node_name)]
+ if str(bench_node_name) in bench_match_nodes_list:
+ del bench_match_nodes_list[str(bench_node_name)]
npu_unmatehed_name_list.append(str(npu_node_name))
bench_unmatehed_name_list.append(str(bench_node_name))
GraphState.set_global_value("config_data", config_data)
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
index 2403e2f35..a78023380 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/service/graph_service.py
@@ -355,7 +355,7 @@ class GraphService:
def save_matched_relations(meta_data):
config_data = GraphState.get_global_value("config_data")
# 匹配列表和未匹配列表
- npu_match_nodes_list = config_data.get('npuMatchNodes', {})
+ npu_match_nodes_list = config_data.get('manualMatchNodes', {})
run = meta_data.get('run')
tag = meta_data.get('tag')
try:
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/global_state.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/global_state.py
index 7f6ea45a9..b835e990c 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/global_state.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/global_state.py
@@ -53,7 +53,15 @@ class GraphState:
'current_file_path': '',
'current_file_data': {},
'current_hierarchy': {},
- 'config_data': {},
+ 'config_data': {
+ "run":"",
+ "npuUnMatchNodes":[],
+ "benchUnMatchNodes":[],
+ "npuMatchNodes":{},
+ "benchMatchNodes":{},
+ "manualMatchNodes":{},
+
+ },
'first_run_tags': {},
'runs': {},
}
@@ -64,17 +72,25 @@ class GraphState:
初始化全局变量的默认值
"""
global _state
- GraphState._state = {
- 'logdir': '',
- 'current_tag': '',
- 'current_run': '',
- 'current_file_path': '',
- 'current_file_data': {},
- 'current_hierarchy': {},
- 'config_data': {},
- 'first_run_tags': {},
- 'runs': {}
- }
+ GraphState._state = {
+ 'logdir': '',
+ 'current_tag': '',
+ 'current_run': '',
+ 'current_file_path': '',
+ 'current_file_data': {},
+ 'current_hierarchy': {},
+ 'config_data': {
+ "run":"",
+ "npuUnMatchNodes":[],
+ "benchUnMatchNodes":[],
+ "npuMatchNodes":{},
+ "benchMatchNodes":{},
+ "manualMatchNodes":{},
+
+ },
+ 'first_run_tags': {},
+ 'runs': {},
+ }
@staticmethod
def set_global_value(key, value):
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py
index 1ef7130e8..5eb218625 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py
@@ -169,6 +169,7 @@ class GraphView:
@staticmethod
@wrappers.Request.application
def save_matched_relations(request):
+ print("save_matched_relations", request)
meta_data = GraphUtils.safe_json_loads(request.args.get("metaData"))
save_result = GraphService.save_matched_relations(meta_data)
return http_util.Respond(request, json.dumps(save_result), "application/json")
--
Gitee
From 661ea1f61cfd82e209e661ba33c65050cf9b3f28 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Mon, 23 Jun 2025 09:49:06 +0800
Subject: [PATCH 08/22] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E6=9B=B4=E6=94=B9?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mock_compare_resnet_data.vis.config | 4 ----
.../test_load_graph_config_info.json | 12 ++++++------
.../test/data/test_case_factory.py | 18 +++++++++---------
.../test/integration/views/test_graph_views.py | 6 ++++++
4 files changed, 21 insertions(+), 19 deletions(-)
delete mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config
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
deleted file mode 100644
index 9b08a108b..000000000
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Module.fc.Linear.forward.0": "Module.fc.Linear.forward.0",
- "Module.fc.Linear.backward.0": "Module.fc.Linear.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
index dab080948..70315db7f 100644
--- 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
@@ -15,39 +15,39 @@
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|"
+ "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|"
},
"#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|"
+ "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|"
},
"#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|"
+ "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|"
},
"#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|"
+ "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|"
},
"#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|"
+ "description": "此节点所有输入输出的统计量相对误差, 值越大代表测量值与标杆值的偏差越大, 相对误差计算方式:|(测量值-标杆值)/标杆值|"
},
"#C7C7C7": {
"value": [],
- "description": "\u6bd4\u5bf9\u8fc7\u7a0b\u4e2d\u8282\u70b9\u672a\u5339\u914d\u4e0a"
+ "description": "比对过程中节点未匹配上"
}
},
"matchedConfigFiles": []
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
index 42e069316..d42c7a6c2 100644
--- 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
@@ -25,39 +25,39 @@ class TestCaseFactory:
@classmethod
def get_process_task_add_cases(cls):
- return cls._load_ut_cases('test_match_node_controller\\process_task_add_case.json')
+ 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')
+ 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')
+ 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')
+ 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')
+ 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')
+ 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')
+ 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')
+ 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')
+ return cls._load_ut_cases('test_layout_hierarchy_controller/mock_compare_statis_graph.vis')
@classmethod
def _load_ut_cases(cls, filename):
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
index d7986b35d..b60242345 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/integration/views/test_graph_views.py
@@ -137,4 +137,10 @@ class TestGraphViews:
response_iter = GraphView.get_node_info(request, TestGraphViews.start_response)
response_body = b''.join(response_iter).decode('utf-8')
assert response_body == json.dumps(excepted)
+
+ def test_save_matched_relations(self):
+ request = TestGraphViews.create_mock_request("/data/plugin/graph_ascend/saveMatchedRelations?metaData={\"run\":\"st_test_cases\",\"tag\":\"mock_compare_resnet_data")
+ response_iter = GraphView.save_matched_relations(request, TestGraphViews.start_response)
+ response_body = b''.join(response_iter).decode('utf-8')
+ print(response_body)
--
Gitee
From 8c92dab337e5100123a350e55303c27e9c877d51 Mon Sep 17 00:00:00 2001
From: sunchao <1299792067@qq.com>
Date: Tue, 24 Jun 2025 11:17:38 +0800
Subject: [PATCH 09/22] =?UTF-8?q?=F0=9F=A7=AA=20test:=20view=20=E6=B5=8Bhi?=
=?UTF-8?q?=E8=A6=86=E7=9B=96=E7=8E=87100%=EF=BC=8C=E5=88=86=E6=94=AF?=
=?UTF-8?q?=E8=A6=86=E7=9B=96=E7=8E=87=E6=A6=82=E7=8E=8775%?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../server/app/utils/graph_utils.py | 3 +-
.../server/app/views/graph_views.py | 3 +-
.../st_test_cases/mock_compare_resnet_data | 17298 ++++++++++++++++
.../mock_compare_resnet_data.vis | 778 +-
.../mock_compare_resnet_data.vis.config | 3 +
.../test_add_match_nodes_by_config.json | 321 +
.../test_load_graph_config_info.json | 17 +-
.../st_test_cases/test_update_colors.json | 12 +
.../test/data/test_case_factory.py | 8 +
.../integration/views/test_graph_views.py | 84 +-
10 files changed, 18268 insertions(+), 259 deletions(-)
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data.vis.config
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_add_match_nodes_by_config.json
create mode 100644 plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/test_update_colors.json
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/graph_utils.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/graph_utils.py
index aefaa5f7e..8e715b84d 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/graph_utils.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/utils/graph_utils.py
@@ -148,8 +148,7 @@ class GraphUtils:
if len(json_data) > MAX_FILE_SIZE:
logger.error(f"File content exceeds {MAX_FILE_SIZE} bytes.")
return default_value
-
- result = json.load(json_data)
+ result = json.loads(json_data)
GraphUtils.remove_prototype_pollution(result)
return result
except json.JSONDecodeError as e:
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py
index 5eb218625..def8c1001 100644
--- a/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/server/app/views/graph_views.py
@@ -29,6 +29,7 @@ class GraphView:
@staticmethod
@wrappers.Request.application
def static_file_route(request):
+ print( )
filename = os.path.basename(request.path)
extension = os.path.splitext(filename)[1]
if extension == '.html':
@@ -152,6 +153,7 @@ class GraphView:
@staticmethod
@wrappers.Request.application
def save_data(request):
+ print("save_data", request)
meta_data = GraphUtils.safe_json_loads(request.args.get("metaData"))
save_result = GraphService.save_data(meta_data)
return http_util.Respond(request, json.dumps(save_result), "application/json")
@@ -169,7 +171,6 @@ class GraphView:
@staticmethod
@wrappers.Request.application
def save_matched_relations(request):
- print("save_matched_relations", request)
meta_data = GraphUtils.safe_json_loads(request.args.get("metaData"))
save_result = GraphService.save_matched_relations(meta_data)
return http_util.Respond(request, json.dumps(save_result), "application/json")
diff --git a/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data
new file mode 100644
index 000000000..0d07190cd
--- /dev/null
+++ b/plugins/tensorboard-plugins/tb_graph_ascend/test/data/st_test_cases/mock_compare_resnet_data
@@ -0,0 +1,17298 @@
+{
+ "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