From 05252d130320c6933bbbf7e363eb97bfa11350a9 Mon Sep 17 00:00:00 2001 From: TinaMengtingZhang Date: Thu, 15 Jul 2021 11:19:51 -0400 Subject: [PATCH] remove unused files in ccsrc/debug --- ...async_sink_mode_true_read_tensors.expected | 28 - .../async_sink_mode_true_read_tensors.py | 72 -- .../async_sink_mode_true_watchpoints.expected | 14 - .../async_sink_mode_true_watchpoints.py | 92 -- .../offline_debug/ascend_tests/run_tests | 49 - .../sync_trans_false_read_tensors.expected | 70 -- .../sync_trans_false_read_tensors.py | 74 -- .../sync_trans_false_watchpoints.expected | 33 - .../sync_trans_false_watchpoints.py | 109 --- .../sync_trans_true_read_tensors.expected | 70 -- .../sync_trans_true_read_tensors.py | 74 -- .../debugger/offline_debug/dbg_services.py | 865 ------------------ .../offline_debug/gpu_tests/run_tests | 24 - .../sync_trans_false_read_tensors.expected | 70 -- .../sync_trans_false_read_tensors.py | 74 -- .../sync_trans_false_watchpoints.expected | 33 - .../gpu_tests/sync_trans_false_watchpoints.py | 109 --- .../sync_trans_true_read_tensors.expected | 70 -- .../gpu_tests/sync_trans_true_read_tensors.py | 74 -- .../offline_debug/mi_validator_helpers.py | 123 --- .../debugger/offline_debug/mi_validators.py | 223 ----- 21 files changed, 2350 deletions(-) delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.py delete mode 100755 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/run_tests delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/dbg_services.py delete mode 100755 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/run_tests delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.expected delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/mi_validator_helpers.py delete mode 100644 mindspore/ccsrc/debug/debugger/offline_debug/mi_validators.py diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.expected b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.expected deleted file mode 100644 index c17f62ce9bb..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.expected +++ /dev/null @@ -1,28 +0,0 @@ ------------------------------------------------------------ -tensor_info_1 attributes: -node name = Default/network-TrainOneStepCell/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op169 -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 1 -is_parameter = False - -tensor_data_1 attributes: -data (printed in uint8) = [149 167 124 ... 158 212 164] -size in bytes = 2076672 -debugger dtype = 10 -shape = [32, 192, 13, 13] ------------------------------------------------------------ -tensor_info_2 attributes: -node name = Default/network-TrainOneStepCell/network-WithLossCell/_backbone-AlexNet/ReLUV2-op348 -slot = 1 -iteration = 2 -device_id = None -root_graph_id = 1 -is_parameter = False - -tensor_data_2 attributes: -data (printed in uint8) = [ 20 21 18 ... 126 98 25] -size in bytes = 129792 -debugger dtype = 6 -shape = [32, 12, 13, 13, 2] diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.py b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.py deleted file mode 100644 index 47e2db9c746..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_read_tensors.py +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Read tensor test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d -import numpy as np - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/opt/nvme2n1/j00455527/dumps/async_sink_true/032421") - - _ = debugger_backend.initialize(net_name="alexnet", is_sync_mode=False) - - # output tensor with zero slot - info1 = d.TensorInfo(node_name="Default/network-TrainOneStepCell/network-WithLossCell/_backbone-AlexNet/" - "conv3-Conv2d/Conv2D-op169", - slot=0, iteration=2, device_id=0, root_graph_id=1, is_parameter=False) - # output tensor with non-zero slot - info2 = d.TensorInfo(node_name="Default/network-TrainOneStepCell/network-WithLossCell/_backbone-AlexNet/" - "ReLUV2-op348", - slot=1, iteration=2, device_id=0, root_graph_id=1, is_parameter=False) - - tensor_info = [info1, info2] - - tensor_data = debugger_backend.read_tensors(tensor_info) - - print_read_tensors(tensor_info, tensor_data) - - -def print_read_tensors(tensor_info, tensor_data): - """Print read tensors.""" - for x, _ in enumerate(tensor_info): - print("-----------------------------------------------------------") - print("tensor_info_" + str(x+1) + " attributes:") - print("node name = ", tensor_info[x].node_name) - print("slot = ", tensor_info[x].slot) - print("iteration = ", tensor_info[x].iteration) - print("device_id = ", tensor_info[x].device_id) - print("root_graph_id = ", tensor_info[x].root_graph_id) - print("is_parameter = ", tensor_info[x].is_parameter) - print() - print("tensor_data_" + str(x+1) + " attributes:") - print("data (printed in uint8) = ", np.frombuffer( - tensor_data[x].data_ptr, np.uint8, tensor_data[x].data_size)) - py_byte_size = len(tensor_data[x].data_ptr) - c_byte_size = tensor_data[x].data_size - if c_byte_size != py_byte_size: - print("The python byte size of ", py_byte_size, - " does not match the C++ byte size of ", c_byte_size) - print("size in bytes = ", tensor_data[x].data_size) - print("debugger dtype = ", tensor_data[x].dtype) - print("shape = ", tensor_data[x].shape) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.expected b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.expected deleted file mode 100644 index 4e6f066f5ef..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.expected +++ /dev/null @@ -1,14 +0,0 @@ ------------------------------------------------------------ -watchpoint_hit for test_1 attributes: -name = Default/network-TrainOneStepCell/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op169 -slot = 0 -condition = 6 -watchpoint_id = 1 -parameter 0 name = param -parameter 0 disabled = False -parameter 0 value = 0.0 -parameter 0 hit = True -parameter 0 actual_value = -0.1417236328125 -error code = 0 -device_id = 0 -root_graph_id = 1 diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.py b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.py deleted file mode 100644 index e9041d2950c..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/async_sink_mode_true_watchpoints.py +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Watchpoints test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/opt/nvme2n1/j00455527/dumps/async_sink_true/032421") - - _ = debugger_backend.initialize(net_name="alexnet", is_sync_mode=False) - - # NOTES: - # -> watch_condition=6 is MIN_LT - # -> watch_condition=18 is CHANGE_TOO_LARGE - - # test 1: watchpoint set and hit (watch_condition=6) - param1 = d.Parameter(name="param", disabled=False, value=0.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=1, watch_condition=6, - check_node_list={"Default/network-TrainOneStepCell/network-WithLossCell/" - "_backbone-AlexNet/conv3-Conv2d/Conv2D-op169": - {"device_id": [0], "root_graph_id": [1], "is_parameter": False - }}, parameter_list=[param1]) - - watchpoint_hits_test_1 = debugger_backend.check_watchpoints(iteration=2) - if len(watchpoint_hits_test_1) != 1: - print("ERROR -> test 1: watchpoint set but not hit just once") - print_watchpoint_hits(watchpoint_hits_test_1, 1) - - # test 2: watchpoint remove and ensure it's not hit - _ = debugger_backend.remove_watchpoint(watchpoint_id=1) - watchpoint_hits_test_2 = debugger_backend.check_watchpoints(iteration=2) - if watchpoint_hits_test_2: - print("ERROR -> test 2: watchpoint removed but hit") - - # test 3: watchpoint set and not hit, then remove - param2 = d.Parameter(name="param", disabled=False, value=-1000.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=2, watch_condition=6, - check_node_list={"Default/network-TrainOneStepCell/network-WithLossCell/" - "_backbone-AlexNet/conv3-Conv2d/Conv2D-op169": - {"device_id": [0], "root_graph_id": [1], "is_parameter": False - }}, parameter_list=[param2]) - - watchpoint_hits_test_3 = debugger_backend.check_watchpoints(iteration=2) - if watchpoint_hits_test_3: - print("ERROR -> test 3: watchpoint set but not supposed to be hit") - _ = debugger_backend.remove_watchpoint(watchpoint_id=2) - - -def print_watchpoint_hits(watchpoint_hits, test_id): - """Print watchpoint hits.""" - for x, _ in enumerate(watchpoint_hits): - print("-----------------------------------------------------------") - print("watchpoint_hit for test_%u attributes:" % test_id) - print("name = ", watchpoint_hits[x].name) - print("slot = ", watchpoint_hits[x].slot) - print("condition = ", watchpoint_hits[x].condition) - print("watchpoint_id = ", watchpoint_hits[x].watchpoint_id) - for p, _ in enumerate(watchpoint_hits[x].parameters): - print("parameter ", p, " name = ", - watchpoint_hits[x].parameters[p].name) - print("parameter ", p, " disabled = ", - watchpoint_hits[x].parameters[p].disabled) - print("parameter ", p, " value = ", - watchpoint_hits[x].parameters[p].value) - print("parameter ", p, " hit = ", - watchpoint_hits[x].parameters[p].hit) - print("parameter ", p, " actual_value = ", - watchpoint_hits[x].parameters[p].actual_value) - print("error code = ", watchpoint_hits[x].error_code) - print("device_id = ", watchpoint_hits[x].device_id) - print("root_graph_id = ", watchpoint_hits[x].root_graph_id) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/run_tests b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/run_tests deleted file mode 100755 index 299a61eadcc..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/run_tests +++ /dev/null @@ -1,49 +0,0 @@ -python sync_trans_false_read_tensors.py > sync_trans_false_read_tensors.actual -sed -i '/\[WARNING\]/d' sync_trans_false_read_tensors.actual -sed -i '/Deprecated/d' sync_trans_false_read_tensors.actual -diff sync_trans_false_read_tensors.actual sync_trans_false_read_tensors.expected -if [ $? -eq 0 ]; then - echo sync_trans_false_read_tensors PASSED -else - echo sync_trans_false_read_tensors FAILED -fi - -python sync_trans_true_read_tensors.py > sync_trans_true_read_tensors.actual -sed -i '/\[WARNING\]/d' sync_trans_true_read_tensors.actual -sed -i '/Deprecated/d' sync_trans_true_read_tensors.actual -diff sync_trans_true_read_tensors.actual sync_trans_true_read_tensors.expected -if [ $? -eq 0 ]; then - echo sync_trans_true_read_tensors PASSED -else - echo sync_trans_true_read_tensors FAILED -fi - -python sync_trans_false_watchpoints.py > sync_trans_false_watchpoints.actual -sed -i '/\[WARNING\]/d' sync_trans_false_watchpoints.actual -sed -i '/Deprecated/d' sync_trans_false_watchpoints.actual -diff sync_trans_false_watchpoints.actual sync_trans_false_watchpoints.expected -if [ $? -eq 0 ]; then - echo sync_trans_false_watchpoints PASSED -else - echo sync_trans_false_watchpoints FAILED -fi - -python async_sink_mode_true_read_tensors.py > async_sink_mode_true_read_tensors.actual -sed -i '/\[WARNING\]/d' async_sink_mode_true_read_tensors.actual -sed -i '/Deprecated/d' async_sink_mode_true_read_tensors.actual -diff async_sink_mode_true_read_tensors.actual async_sink_mode_true_read_tensors.expected -if [ $? -eq 0 ]; then - echo async_sink_mode_true_read_tensors PASSED -else - echo async_sink_mode_true_read_tensors FAILED -fi - -python async_sink_mode_true_watchpoints.py > async_sink_mode_true_watchpoints.actual -sed -i '/\[WARNING\]/d' async_sink_mode_true_watchpoints.actual -sed -i '/Deprecated/d' async_sink_mode_true_watchpoints.actual -diff async_sink_mode_true_watchpoints.actual async_sink_mode_true_watchpoints.expected -if [ $? -eq 0 ]; then - echo async_sink_mode_true_watchpoints PASSED -else - echo async_sink_mode_true_watchpoints FAILED -fi diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.expected b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.expected deleted file mode 100644 index ef4977b8fe3..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.expected +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------ -tensor_info_1 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = True - -tensor_data_1 attributes: -data (printed in uint8) = [170 19 44 181 254 212 16 52 52 162 148 180 130 115 226 180 183 243 - 101 52 224 79 189 51 10 70 69 51 199 75 159 52 79 98 104 52 - 106 77 19 52 129 183 8 180 252 58 48 180 35 219 9 52 240 201 - 179 51 142 151 158 51 210 145 182 53 140 219 0 53 140 219 22 181 - 46 33 87 180 238 90 122 180 166 10 38 179 202 195 4 53 166 10 - 150 51 214 120 209 52 235 115 37 180 92 177 215 180 0 136 84 51 - 72 114 145 180 43 169 255 180 114 27 61 52 76 225 122 50 126 72 - 159 51 58 35 202 51 114 61 106 51 60 223 63 52 209 179 1 52 - 232 217 44 178 130 158 109 179 213 231 10 179 37 40 94 179 208 68 - 64 53 6 52 249 52 162 35 1 181 231 29 155 52 30 201 69 180 - 229 131 126 51 18 165 109 180 164 112 163 181 116 172 11 178 6 129 - 37 52 54 205 203 180 115 104 145 52 232 106 219 179 36 40 214 52 - 202 50 204 52 76 89 38 179 230 140 232 178 168 53 77 52 180 191 - 108 51 128 183 64 51 56 137 161 180 247 6 143 180 126 63 197 180 - 198 177 94 52 140 185 139 51 150 178 228 180 255 67 150 52 134 201 - 164 52 107 43 14 53 174 216 63 179 40 160 41 53 120 88 72 179 - 218 172 234 52 234 38 25 52 85 159 155 180 254 67 138 180 34 253 - 118 180 218 61 17 52 242 133 253 52 175 37 180 52 171 62 163 52 - 202 195 86 53 160 171 45 52 34 31 176 180 156 85 5 53 178 191 - 68 180 42 203 140 52 248 117 72 52 248 253 212 176 195 100 202 51 - 87 14 141 52 91 100 235 51 48 221 136 52 143 117 17 180 51 196 - 25 52 127 29 112 180 152 144 207 178 219 104 64 52 21 174 251 52 - 164 78 138 181 20 63 6 52 10 249 96 179 163 146 18 53 200 186 - 236 52 2 188 85 52 124 140 121 179 246 185 22 181 246 74 249 51 - 70 182 135 53 189 227 76 52 249 160 159 180 134 235 65 53 64 164 - 255 51 224 156 41 53 142 117 69 181 247 151 101 53 185 175 35 52 - 164 112 21 53 30 31 212 179 142 151 110 179 176 148 29 181 206 204 - 88 53 116 215 214 180 172 173 216 51 106 222 153 180 200 152 19 181 - 176 3 7 52 215 52 87 52] -size in bytes = 512 -debugger dtype = 11 -shape = [128] ------------------------------------------------------------ -tensor_info_2 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op168 -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_2 attributes: -data (printed in uint8) = [181 167 46 ... 12 204 164] -size in bytes = 2076672 -debugger dtype = 10 -shape = [32, 12, 13, 13, 16] ------------------------------------------------------------ -tensor_info_3 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op346 -slot = 1 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_3 attributes: -data (printed in uint8) = [ 50 17 122 ... 94 42 90] -size in bytes = 129792 -debugger dtype = 6 -shape = [32, 12, 13, 13, 2] diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.py b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.py deleted file mode 100644 index 0bf1f1896f1..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_read_tensors.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Read tensor test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d -import numpy as np - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/opt/nvme2n1/j00455527/dumps/sync_trans_false/032421/alexnet") - - _ = debugger_backend.initialize( - net_name="Network Name goes here!", is_sync_mode=True) - - # parameter - info1 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=True) - # output tensor with zero slot - info2 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op168", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - # output tensor with non-zero slot - info3 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op346", - slot=1, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - - tensor_info = [info1, info2, info3] - - tensor_data = debugger_backend.read_tensors(tensor_info) - - print_read_tensors(tensor_info, tensor_data) - - -def print_read_tensors(tensor_info, tensor_data): - """Print read tensors.""" - for x, _ in enumerate(tensor_info): - print("-----------------------------------------------------------") - print("tensor_info_" + str(x+1) + " attributes:") - print("node name = ", tensor_info[x].node_name) - print("slot = ", tensor_info[x].slot) - print("iteration = ", tensor_info[x].iteration) - print("device_id = ", tensor_info[x].device_id) - print("root_graph_id = ", tensor_info[x].root_graph_id) - print("is_parameter = ", tensor_info[x].is_parameter) - print() - print("tensor_data_" + str(x+1) + " attributes:") - print("data (printed in uint8) = ", np.frombuffer( - tensor_data[x].data_ptr, np.uint8, tensor_data[x].data_size)) - py_byte_size = len(tensor_data[x].data_ptr) - c_byte_size = tensor_data[x].data_size - if c_byte_size != py_byte_size: - print("The python byte size of ", py_byte_size, - " does not match the C++ byte size of ", c_byte_size) - print("size in bytes = ", tensor_data[x].data_size) - print("debugger dtype = ", tensor_data[x].dtype) - print("shape = ", tensor_data[x].shape) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.expected b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.expected deleted file mode 100644 index f7f209ca2c5..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.expected +++ /dev/null @@ -1,33 +0,0 @@ ------------------------------------------------------------ -watchpoint_hit for test_1 attributes: -name = Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op168 -slot = 0 -condition = 6 -watchpoint_id = 1 -parameter 0 name = param -parameter 0 disabled = False -parameter 0 value = 0.0 -parameter 0 hit = True -parameter 0 actual_value = -0.14013671875 -error code = 0 -device_id = 0 -root_graph_id = 0 ------------------------------------------------------------ -watchpoint_hit for test_4 attributes: -name = Default/network-WithLossCell/_backbone-AlexNet/fc3-Dense/Parameter[6]_11/fc3.bias -slot = 0 -condition = 18 -watchpoint_id = 3 -parameter 0 name = abs_mean_update_ratio_gt -parameter 0 disabled = False -parameter 0 value = 0.0 -parameter 0 hit = True -parameter 0 actual_value = 0.5243796973599475 -parameter 1 name = epsilon -parameter 1 disabled = True -parameter 1 value = 0.0 -parameter 1 hit = False -parameter 1 actual_value = 0.0 -error code = 0 -device_id = 0 -root_graph_id = 0 diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.py b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.py deleted file mode 100644 index c2059024585..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_false_watchpoints.py +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Watchpoints test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/opt/nvme2n1/j00455527/dumps/sync_trans_false/032421/alexnet") - - _ = debugger_backend.initialize( - net_name="Network Name goes here!", is_sync_mode=True) - - # NOTES: - # -> watch_condition=6 is MIN_LT - # -> watch_condition=18 is CHANGE_TOO_LARGE - - # test 1: watchpoint set and hit (watch_condition=6) - param1 = d.Parameter(name="param", disabled=False, value=0.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=1, watch_condition=6, - check_node_list={"Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/" - "Conv2D-op168": - {"device_id": [0], "root_graph_id": [0], "is_parameter": False - }}, parameter_list=[param1]) - - watchpoint_hits_test_1 = debugger_backend.check_watchpoints(iteration=2) - if len(watchpoint_hits_test_1) != 1: - print("ERROR -> test 1: watchpoint set but not hit just once") - print_watchpoint_hits(watchpoint_hits_test_1, 1) - - # test 2: watchpoint remove and ensure it's not hit - _ = debugger_backend.remove_watchpoint(watchpoint_id=1) - watchpoint_hits_test_2 = debugger_backend.check_watchpoints(iteration=2) - if watchpoint_hits_test_2: - print("ERROR -> test 2: watchpoint removed but hit") - - # test 3: watchpoint set and not hit, then remove - param2 = d.Parameter(name="param", disabled=False, value=-1000.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=2, watch_condition=6, - check_node_list={"Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/" - "Conv2D-op308": - {"device_id": [0], "root_graph_id": [0], "is_parameter": False - }}, parameter_list=[param2]) - - watchpoint_hits_test_3 = debugger_backend.check_watchpoints(iteration=2) - if watchpoint_hits_test_3: - print("ERROR -> test 3: watchpoint set but not supposed to be hit") - _ = debugger_backend.remove_watchpoint(watchpoint_id=2) - - # test 4: weight change watchpoint set and hit - param_abs_mean_update_ratio_gt = d.Parameter( - name="abs_mean_update_ratio_gt", disabled=False, value=0.0) - param_epsilon = d.Parameter(name="epsilon", disabled=True, value=0.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=3, watch_condition=18, - check_node_list={"Default/network-WithLossCell/_backbone-AlexNet/fc3-Dense/" - "Parameter[6]_11/fc3.bias": - {"device_id": [0], "root_graph_id": [0], "is_parameter": True - }}, parameter_list=[param_abs_mean_update_ratio_gt, - param_epsilon]) - - watchpoint_hits_test_4 = debugger_backend.check_watchpoints(iteration=3) - if len(watchpoint_hits_test_4) != 1: - print("ERROR -> test 4: watchpoint weight change set but not hit just once") - print_watchpoint_hits(watchpoint_hits_test_4, 4) - - -def print_watchpoint_hits(watchpoint_hits, test_id): - """Print watchpoint hits.""" - for x, _ in enumerate(watchpoint_hits): - print("-----------------------------------------------------------") - print("watchpoint_hit for test_%u attributes:" % test_id) - print("name = ", watchpoint_hits[x].name) - print("slot = ", watchpoint_hits[x].slot) - print("condition = ", watchpoint_hits[x].condition) - print("watchpoint_id = ", watchpoint_hits[x].watchpoint_id) - for p, _ in enumerate(watchpoint_hits[x].parameters): - print("parameter ", p, " name = ", - watchpoint_hits[x].parameters[p].name) - print("parameter ", p, " disabled = ", - watchpoint_hits[x].parameters[p].disabled) - print("parameter ", p, " value = ", - watchpoint_hits[x].parameters[p].value) - print("parameter ", p, " hit = ", - watchpoint_hits[x].parameters[p].hit) - print("parameter ", p, " actual_value = ", - watchpoint_hits[x].parameters[p].actual_value) - print("error code = ", watchpoint_hits[x].error_code) - print("device_id = ", watchpoint_hits[x].device_id) - print("root_graph_id = ", watchpoint_hits[x].root_graph_id) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.expected b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.expected deleted file mode 100644 index 46e8db511b4..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.expected +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------ -tensor_info_1 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = True - -tensor_data_1 attributes: -data (printed in uint8) = [230 208 10 52 104 34 252 52 4 231 144 52 188 150 64 180 88 236 - 15 180 254 135 180 51 131 226 147 52 88 202 62 53 2 43 55 53 - 231 29 87 180 220 249 30 180 157 17 177 180 81 107 140 181 8 95 - 192 180 89 134 112 180 96 238 90 178 156 196 212 180 206 25 15 181 - 212 154 6 180 91 211 116 52 191 14 140 51 128 106 124 53 28 158 - 70 181 182 21 251 50 100 204 157 179 88 202 42 180 7 95 8 53 - 128 251 238 52 241 133 241 52 111 86 157 179 48 221 148 180 200 7 - 141 180 236 226 182 51 190 82 158 180 140 108 179 180 195 134 215 179 - 103 213 39 179 89 168 149 180 42 58 58 180 64 53 62 179 250 126 - 158 52 38 83 117 52 0 0 136 180 136 133 122 51 110 18 131 179 - 238 13 94 51 102 136 15 181 134 90 227 180 16 11 117 180 35 74 - 163 52 105 0 87 181 112 18 131 50 226 233 67 181 217 172 10 52 - 206 25 217 52 208 213 22 52 146 203 87 180 74 46 207 52 178 191 - 4 180 100 93 216 52 119 190 171 180 223 2 5 181 128 72 207 179 - 58 146 11 179 224 79 137 52 143 228 154 180 246 219 215 179 14 79 - 195 52 126 29 64 52 132 192 42 51 94 220 86 52 94 109 1 181 - 72 37 117 178 110 197 94 180 160 94 153 179 118 224 80 181 156 17 - 37 50 120 156 162 53 26 115 135 180 228 20 29 53 145 126 147 52 - 99 16 48 180 211 188 199 180 52 51 99 180 93 254 227 52 152 126 - 123 49 6 18 16 181 5 163 130 51 27 158 98 53 134 235 189 52 - 119 45 9 180 130 115 110 52 158 128 162 52 232 251 197 180 178 46 - 158 179 57 214 157 52 172 207 161 180 208 0 222 49 242 99 32 53 - 20 174 135 50 247 117 176 52 194 57 43 180 140 108 135 51 243 65 - 175 51 187 73 156 51 63 232 217 50 180 234 115 52 194 168 148 52 - 27 192 183 180 45 178 157 52 125 208 17 53 236 192 65 53 190 193 - 7 53 254 246 57 53 3 43 199 51 64 164 215 180 220 104 240 51 - 23 72 24 180 68 173 9 51 72 114 29 53 105 0 57 181 188 150 - 8 53 229 97 131 53 0 34 189 51 163 146 74 53 31 244 204 51 - 86 193 220 180 156 51 146 179] -size in bytes = 512 -debugger dtype = 11 -shape = [128] ------------------------------------------------------------ -tensor_info_2 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op171 -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_2 attributes: -data (printed in uint8) = [ 99 26 69 ... 154 218 164] -size in bytes = 2076672 -debugger dtype = 10 -shape = [32, 192, 13, 13] ------------------------------------------------------------ -tensor_info_3 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op353 -slot = 1 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_3 attributes: -data (printed in uint8) = [19 17 27 ... 94 42 90] -size in bytes = 129792 -debugger dtype = 6 -shape = [32, 12, 13, 13, 2] diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.py b/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.py deleted file mode 100644 index 7d87ef32402..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/ascend_tests/sync_trans_true_read_tensors.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Read tensor test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d -import numpy as np - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/opt/nvme2n1/j00455527/dumps/sync_trans_true/032421/alexnet") - - _ = debugger_backend.initialize( - net_name="Network Name goes here!", is_sync_mode=True) - - # parameter - info1 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=True) - # output tensor with zero slot - info2 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op171", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - # output tensor with non-zero slot - info3 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op353", - slot=1, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - - tensor_info = [info1, info2, info3] - - tensor_data = debugger_backend.read_tensors(tensor_info) - - print_read_tensors(tensor_info, tensor_data) - - -def print_read_tensors(tensor_info, tensor_data): - """Print read tensors.""" - for x, _ in enumerate(tensor_info): - print("-----------------------------------------------------------") - print("tensor_info_" + str(x+1) + " attributes:") - print("node name = ", tensor_info[x].node_name) - print("slot = ", tensor_info[x].slot) - print("iteration = ", tensor_info[x].iteration) - print("device_id = ", tensor_info[x].device_id) - print("root_graph_id = ", tensor_info[x].root_graph_id) - print("is_parameter = ", tensor_info[x].is_parameter) - print() - print("tensor_data_" + str(x+1) + " attributes:") - print("data (printed in uint8) = ", np.frombuffer( - tensor_data[x].data_ptr, np.uint8, tensor_data[x].data_size)) - py_byte_size = len(tensor_data[x].data_ptr) - c_byte_size = tensor_data[x].data_size - if c_byte_size != py_byte_size: - print("The python byte size of ", py_byte_size, - " does not match the C++ byte size of ", c_byte_size) - print("size in bytes = ", tensor_data[x].data_size) - print("debugger dtype = ", tensor_data[x].dtype) - print("shape = ", tensor_data[x].shape) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/dbg_services.py b/mindspore/ccsrc/debug/debugger/offline_debug/dbg_services.py deleted file mode 100644 index cb82a38908d..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/dbg_services.py +++ /dev/null @@ -1,865 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -The module DbgServices provides offline debugger APIs. -""" - -import mindspore._mindspore_offline_debug as cds -from mi_validators import check_init, check_initialize, check_add_watchpoint, check_remove_watchpoint, check_check_watchpoints, check_read_tensors, check_initialize_done, check_tensor_info_init, check_tensor_data_init, check_watchpoint_hit_init, check_parameter_init - - -def get_version(): - """ - Function to return offline Debug Services version. - - Returns: - version (str): dbgServices version. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> version = dbg_services.get_version() - """ - return cds.DbgServices(False).GetVersion() - -class DbgLogger: - """ - Offline Debug Services Logger - - Args: - verbose (bool): whether to print logs. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> version = dbg_services.DbgLogger(verbose=False) - """ - def __init__(self, verbose): - self.verbose = verbose - - def __call__(self, *logs): - if self.verbose: - print(logs) - - -log = DbgLogger(False) - - -class DbgServices(): - """ - Offline Debug Services class. - - Args: - dump_file_path (str): directory where the dump files are saved. - verbose (bool): whether to print logs (default: False).. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> d = dbg_services.DbgServices(dump_file_path="dump_file_path", - >>> verbose=True) - """ - - @check_init - def __init__(self, dump_file_path, verbose=False): - log.verbose = verbose - log("in Python __init__, file path is ", dump_file_path) - self.dump_file_path = dump_file_path - self.dbg_instance = cds.DbgServices(verbose) - self.version = self.dbg_instance.GetVersion() - self.verbose = verbose - self.initialized = False - - @check_initialize - def initialize(self, net_name, is_sync_mode=True): - """ - Initialize Debug Service. - - Args: - net_name (str): Network name. - is_sync_mode (bool): Whether to process synchronous or asynchronous dump files mode - (default: True (synchronous)). - - Returns: - Initialized Debug Service instance. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> d = dbg_services.DbgServices(dump_file_path="dump_file_path", - >>> verbose=True) - >>> d_init = d.initialize(net_name="network name", is_sync_mode=True) - """ - - log("in Python Initialize dump_file_path ", self.dump_file_path) - self.initialized = True - return self.dbg_instance.Initialize(net_name, self.dump_file_path, is_sync_mode) - - @check_initialize_done - @check_add_watchpoint - def add_watchpoint(self, watchpoint_id, watch_condition, check_node_list, parameter_list): - """ - Adding watchpoint to Debug Service instance. - - Args: - watchpoint_id (int): Watchpoint id - watch_condition (int): A representation of the condition to be checked. - check_node_list (dict): Dictionary of node names (str) as key, - mapping to device_id (list of ints), root_graph_id (list of ints) and is_parameter - (bool). - parameter_list (list): List of parameters in watchpoint. Parameters should be instances of Parameter class. - Each parameter describes the value to be checked in watchpoint. - - Returns: - Debug Service instance with added watchpoint. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> d = dbg_services.DbgServices(dump_file_path="dump_file_path", - >>> verbose=True) - >>> d_init = d.initialize(is_sync_mode=True) - >>> d_wp = d_init.add_watchpoint(watchpoint_id=1, - >>> watch_condition=6, - >>> check_node_list={"conv2.bias" : {"device_id": [0], - root_graph_id: [0], "is_parameter": True}}, - >>> parameter_list=[dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> actual_value=0.0)]) - """ - - print("Amir: ", check_node_list) - - log("in Python AddWatchpoint") - parameter_list_inst = [] - for elem in parameter_list: - parameter_list_inst.append(elem.instance) - return self.dbg_instance.AddWatchpoint(watchpoint_id, watch_condition, check_node_list, parameter_list_inst) - - @check_initialize_done - @check_remove_watchpoint - def remove_watchpoint(self, watchpoint_id): - """ - Removing watchpoint from Debug Service instance. - - Args: - watchpoint_id (int): Watchpoint id - - Returns: - Debug Service instance with removed watchpoint. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> d = dbg_services.DbgServices(dump_file_path="dump_file_path", - >>> verbose=True) - >>> d_init = d.initialize(is_sync_mode=True) - >>> d_wp = d_init.add_watchpoint(watchpoint_id=1, - >>> watch_condition=6, - >>> check_node_list={"conv2.bias" : {"device_id": [5], - root_graph_id: [0], "is_parameter": True}}, - >>> parameter_list=[dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> actual_value=0.0)]) - >>> d_wp = d_wp.remove_watchpoint(watchpoint_id=1) - """ - - log("in Python Remove Watchpoint id ", watchpoint_id) - return self.dbg_instance.RemoveWatchpoint(watchpoint_id) - - @check_initialize_done - @check_check_watchpoints - def check_watchpoints(self, iteration): - """ - Checking watchpoint at given iteration. - - Args: - iteration (int): Watchpoint check iteration. - - Returns: - Watchpoint hit list. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> d = dbg_services.DbgServices(dump_file_path="dump_file_path", - >>> verbose=True) - >>> d_init = d.initialize(is_sync_mode=True) - >>> d_wp = d_init.add_watchpoint(id=1, - >>> watch_condition=6, - >>> check_node_list={"conv2.bias" : {"device_id": [5], - root_graph_id: [0], "is_parameter": True}}, - >>> parameter_list=[dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> actual_value=0.0)]) - >>> watchpoints = d_wp.check_watchpoints(iteration=8) - """ - - log("in Python CheckWatchpoints iteration ", iteration) - watchpoint_list = self.dbg_instance.CheckWatchpoints(iteration) - watchpoint_hit_list = [] - for watchpoint in watchpoint_list: - name = watchpoint.get_name() - slot = watchpoint.get_slot() - condition = watchpoint.get_condition() - watchpoint_id = watchpoint.get_watchpoint_id() - parameters = watchpoint.get_parameters() - error_code = watchpoint.get_error_code() - device_id = watchpoint.get_device_id() - root_graph_id = watchpoint.get_root_graph_id() - param_list = [] - for param in parameters: - p_name = param.get_name() - disabled = param.get_disabled() - value = param.get_value() - hit = param.get_hit() - actual_value = param.get_actual_value() - param_list.append(Parameter(p_name, disabled, value, hit, actual_value)) - watchpoint_hit_list.append(WatchpointHit(name, slot, condition, watchpoint_id, - param_list, error_code, device_id, root_graph_id)) - return watchpoint_hit_list - - @check_initialize_done - @check_read_tensors - def read_tensors(self, info): - """ - Returning tensor data object describing the tensor requested tensor. - - Args: - info (list): List of TensorInfo objects. - - Returns: - TensorData list (list). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> d = dbg_services.DbgServices(dump_file_path="dump_file_path", - >>> verbose=True) - >>> d_init = d.initialize(is_sync_mode=True) - >>> tensor_data_list = d_init.read_tensors([dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True)]) - """ - - log("in Python ReadTensors info ", info) - info_list_inst = [] - for elem in info: - log("in Python ReadTensors info ", info) - info_list_inst.append(elem.instance) - tensor_data_list = self.dbg_instance.ReadTensors(info_list_inst) - tensor_data_list_ret = [] - for elem in tensor_data_list: - if elem.get_data_size() == 0: - tensor_data = TensorData(b'', elem.get_data_size(), elem.get_dtype(), elem.get_shape()) - else: - tensor_data = TensorData(elem.get_data_ptr(), elem.get_data_size(), elem.get_dtype(), elem.get_shape()) - tensor_data_list_ret.append(tensor_data) - return tensor_data_list_ret - -class TensorInfo(): - """ - Tensor Information class. - - Args: - node_name (str): Fully qualified name of the desired node. - slot (int): The particular output for the requested node. - iteration (int): The desired itraretion to gather tensor information. - device_id (int): The desired device id to gather tensor information. - is_parameter (bool): Whether node is a parameter (input, constant, bias, parameter). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - """ - - @check_tensor_info_init - def __init__(self, node_name, slot, iteration, device_id, root_graph_id, is_parameter): - self.instance = cds.tensor_info(node_name, slot, iteration, device_id, root_graph_id, is_parameter) - - @property - def node_name(self): - """ - Function to receive TensorInfo node_name. - - Returns: - node_name of TensorInfo instance (str). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - >>> name = tensor_info.node_name - """ - - return self.instance.get_node_name() - - @property - def slot(self): - """ - Function to receive TensorInfo slot. - - Returns: - slot of TensorInfo instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - >>> slot = tensor_info.slot - """ - - return self.instance.get_slot() - - @property - def iteration(self): - """ - Function to receive TensorInfo iteration. - - Returns: - iteration of TensorInfo instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - >>> iteration = tensor_info.iteration - """ - - return self.instance.get_iteration() - - @property - def device_id(self): - """ - Function to receive TensorInfo device_id. - - Returns: - device_id of TensorInfo instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - >>> device_id = tensor_info.device_id - """ - - @property - def root_graph_id(self): - """ - Function to receive TensorInfo root_graph_id. - - Returns: - root_graph_id of TensorInfo instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - >>> device_id = tensor_info.root_graph_id - """ - - return self.instance.get_root_graph_id() - - @property - def is_parameter(self): - """ - Function to receive TensorInfo is_parameter. - - Returns: - is_parameter of TensorInfo instance (bool). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_info = dbg_services.TensorInfo(node_name="conv2.bias", - >>> slot=0, - >>> iteration=8, - >>> device_id=5, - >>> root_graph_id=0, - >>> is_parameter=True) - >>> is_parameter = tensor_info.is_parameter - """ - - return self.instance.get_is_parameter() - -class TensorData(): - """ - TensorData class. - - Args: - data_ptr (byte): Data pointer. - data_size (int): Size of data in bytes. - dtype (int): An encoding representing the type of TensorData. - shape (list): Shape of tensor. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_data = dbg_services.TensorData(data_ptr=b'\xba\xd0\xba\xd0', - >>> data_size=4, - >>> dtype=0, - >>> shape=[2, 2]) - """ - - @check_tensor_data_init - def __init__(self, data_ptr, data_size, dtype, shape): - self.instance = cds.tensor_data(data_ptr, data_size, dtype, shape) - - @property - def data_ptr(self): - """ - Function to receive TensorData data_ptr. - - Returns: - data_ptr of TensorData instance (byte). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_data = dbg_services.TensorData(data_ptr=b'\xba\xd0\xba\xd0', - >>> data_size=4, - >>> dtype=0, - >>> shape=[2, 2]) - >>> data_ptr = tensor_data.data_ptr - """ - - return self.instance.get_data_ptr() - - @property - def data_size(self): - """ - Function to receive TensorData data_size. - - Returns: - data_size of TensorData instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_data = dbg_services.TensorData(data_ptr=b'\xba\xd0\xba\xd0', - >>> data_size=4, - >>> dtype=0, - >>> shape=[2, 2]) - >>> data_size = tensor_data.data_size - """ - - return self.instance.get_data_size() - - @property - def dtype(self): - """ - Function to receive TensorData dtype. - - Returns: - dtype of TensorData instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_data = dbg_services.TensorData(data_ptr=b'\xba\xd0\xba\xd0', - >>> data_size=4, - >>> dtype=0, - >>> shape=[2, 2]) - >>> dtype = tensor_data.dtype - """ - - return self.instance.get_dtype() - - @property - def shape(self): - """ - Function to receive TensorData shape. - - Returns: - shape of TensorData instance (list). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> tensor_data = dbg_services.TensorData(data_ptr=b'\xba\xd0\xba\xd0', - >>> data_size=4, - >>> dtype=0, - >>> shape=[2, 2]) - >>> shape = tensor_data.shape - """ - - return self.instance.get_shape() - -class WatchpointHit(): - """ - WatchpointHit class. - - Args: - name (str): Name of WatchpointHit instance. - slot (int): The numerical label of an output. - condition (int): A representation of the condition to be checked. - watchpoint_id (int): Watchpoint id. - parameters (list): A list of all parameters for WatchpointHit instance. - Parameters have to be instances of Parameter class. - error_code (int): An explanation of certain scenarios where watchpoint could not be checked. - device_id (int): Device id where the watchpoint is hit. - root_graph_id (int): Root graph id where the watchpoint is hit. - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - """ - - @check_watchpoint_hit_init - def __init__(self, name, slot, condition, watchpoint_id, parameters, error_code, device_id, root_graph_id): - parameter_list_inst = [] - for elem in parameters: - parameter_list_inst.append(elem.instance) - self.instance = cds.watchpoint_hit(name, slot, condition, watchpoint_id, - parameter_list_inst, error_code, device_id, root_graph_id) - - @property - def name(self): - """ - Function to receive WatchpointHit name. - - Returns: - name of WatchpointHit instance (str). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> name = watchpoint_hit.name - """ - - return self.instance.get_name() - - @property - def slot(self): - """ - Function to receive WatchpointHit slot. - - Returns: - slot of WatchpointHit instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> slot = watchpoint_hit.slot - """ - - return self.instance.get_slot() - - @property - def condition(self): - """ - Function to receive WatchpointHit condition. - - Returns: - condition of WatchpointHit instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> condition = watchpoint_hit.condition - """ - - return self.instance.get_condition() - - @property - def watchpoint_id(self): - """ - Function to receive WatchpointHit watchpoint_id. - - Returns: - watchpoint_id of WatchpointHit instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> watchpoint_id = watchpoint_hit.watchpoint_id - """ - - return self.instance.get_watchpoint_id() - - @property - def parameters(self): - """ - Function to receive WatchpointHit parameters. - - Returns: - List of parameters of WatchpointHit instance (list). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> parameters = watchpoint_hit.parameters - """ - - params = self.instance.get_parameters() - param_list = [] - for elem in params: - tmp = Parameter(elem.get_name(), - elem.get_disabled(), - elem.get_value(), - elem.get_hit(), - elem.get_actual_value()) - param_list.append(tmp) - return param_list - - @property - def error_code(self): - """ - Function to receive WatchpointHit error_code. - - Returns: - error_code of WatchpointHit instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> error_code = watchpoint_hit.error_code - """ - - return self.instance.get_error_code() - - @property - def device_id(self): - """ - Function to receive WatchpointHit device_id. - - Returns: - device_id of WatchpointHit instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> device_id = watchpoint_hit.device_id - """ - - return self.instance.get_device_id() - - @property - def root_graph_id(self): - """ - Function to receive WatchpointHit root_graph_id. - - Returns: - root_graph_id of WatchpointHit instance (int). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> watchpoint_hit = dbg_services.WatchpointHit(name="hit1", - >>> slot=1, - >>> condition=2, - >>> watchpoint_id=3, - >>> parameters=[param1, param2], - >>> error_code=0, - >>> device_id=1, - >>> root_graph_id=1) - >>> root_graph_id = watchpoint_hit.root_graph_id - """ - - return self.instance.get_root_graph_id() - -class Parameter(): - """ - Parameter class. - - Args: - name (str): Name of the parameter. - disabled (bool): Whether parameter is used in backend. - value (float): Threshold value of the parameter. - hit (bool): Whether this parameter triggered watchpoint (default is False). - actual_value (float): Actual value of the parameter (default is 0.0). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> parameter = dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> actual_value=0.0) - """ - - @check_parameter_init - def __init__(self, name, disabled, value, hit=False, actual_value=0.0): - self.instance = cds.parameter(name, disabled, value, hit, actual_value) - - @property - def name(self): - """ - Function to receive Parameter name. - - Returns: - name of Parameter instance (str). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> parameter = dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> name = watchpoint_hit.name - """ - - return self.instance.get_name() - - @property - def disabled(self): - """ - Function to receive Parameter disabled value. - - Returns: - disabled of Parameter instance (bool). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> parameter = dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> disabled = watchpoint_hit.disabled - """ - - return self.instance.get_disabled() - - @property - def value(self): - """ - Function to receive Parameter value. - - Returns: - value of Parameter instance (float). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> parameter = dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> value = watchpoint_hit.value - """ - - return self.instance.get_value() - - @property - def hit(self): - """ - Function to receive Parameter hit value. - - Returns: - hit of Parameter instance (bool). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> parameter = dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> hit = watchpoint_hit.hit - """ - - return self.instance.get_hit() - - @property - def actual_value(self): - """ - Function to receive Parameter actual_value value. - - Returns: - actual_value of Parameter instance (float). - - Examples: - >>> from mindspore.ccsrc.debug.debugger.offline_debug import dbg_services - >>> parameter = dbg_services.Parameter(name="param", - >>> disabled=False, - >>> value=0.0, - >>> hit=False, - >>> actual_value = watchpoint_hit.actual_value - """ - - return self.instance.get_actual_value() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/run_tests b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/run_tests deleted file mode 100755 index e8713c1ed8d..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/run_tests +++ /dev/null @@ -1,24 +0,0 @@ -python sync_trans_false_read_tensors.py > sync_trans_false_read_tensors.actual -diff sync_trans_false_read_tensors.actual sync_trans_false_read_tensors.expected -if [ $? -eq 0 ]; then - echo sync_trans_false_read_tensors PASSED -else - echo sync_trans_false_read_tensors FAILED -fi - -python sync_trans_true_read_tensors.py > sync_trans_true_read_tensors.actual -diff sync_trans_true_read_tensors.actual sync_trans_true_read_tensors.expected -if [ $? -eq 0 ]; then - echo sync_trans_true_read_tensors PASSED -else - echo sync_trans_true_read_tensors FAILED -fi - -python sync_trans_false_watchpoints.py > sync_trans_false_watchpoints.actual -diff sync_trans_false_watchpoints.actual sync_trans_false_watchpoints.expected -if [ $? -eq 0 ]; then - echo sync_trans_false_watchpoints PASSED -else - echo sync_trans_false_watchpoints FAILED -fi - diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.expected b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.expected deleted file mode 100644 index afcae6da915..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.expected +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------ -tensor_info_1 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = True - -tensor_data_1 attributes: -data (printed in uint8) = [ 0 0 0 0 195 127 0 0 176 202 195 248 194 127 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 58 196 248 - 194 127 0 0 17 0 0 0 0 0 0 0 160 76 6 140 195 127 - 0 0 69 0 0 0 0 0 0 0 1 0 0 0 195 127 0 0 - 64 195 195 248 194 127 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 88 1 196 248 194 127 0 0 18 0 0 0 - 0 0 0 0 160 47 6 140 195 127 0 0 69 0 0 0 0 0 - 0 0 1 0 0 0 195 127 0 0 176 203 195 248 194 127 0 0 - 176 204 195 248 194 127 0 0 0 0 0 0 0 0 0 0 216 241 - 195 248 194 127 0 0 19 0 0 0 0 0 0 0 96 39 6 140 - 195 127 0 0 69 0 0 0 0 0 0 0 1 0 0 0 195 127 - 0 0 112 52 196 248 194 127 0 0 176 52 196 248 194 127 0 0 - 0 0 0 0 0 0 0 0 88 250 195 248 194 127 0 0 20 0 - 0 0 0 0 0 0 128 130 5 140 195 127 0 0 69 0 0 0 - 0 0 0 0 0 0 0 0 195 127 0 0 208 136 195 248 194 127 - 0 0 176 202 195 248 194 127 0 0 48 52 196 248 194 127 0 0 - 184 247 195 248 194 127 0 0 21 0 0 0 0 0 0 0 176 213 - 4 140 195 127 0 0 69 0 0 0 0 0 0 0 0 0 0 0 - 195 127 0 0 48 52 196 248 194 127 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 8 249 195 248 194 127 0 0 - 22 0 0 0 0 0 0 0 16 46 4 140 195 127 0 0 69 0 - 0 0 0 0 0 0 1 0 0 0 195 127 0 0 64 137 195 248 - 194 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 88 12 196 248 194 127 0 0 23 0 0 0 0 0 0 0 - 32 137 3 140 195 127 0 0 85 0 0 0 0 0 0 0 0 0 - 0 0 195 127 0 0 176 202 195 248 194 127 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 104 246 195 248 194 127 - 0 0 24 0 0 0 0 0 0 0 48 104 15 140 195 127 0 0 - 32 104 15 140 195 127 0 0] -size in bytes = 512 -debugger dtype = 11 -shape = [128] ------------------------------------------------------------ -tensor_info_2 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op308 -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_2 attributes: -data (printed in uint8) = [ 0 169 0 ... 152 242 63] -size in bytes = 4153344 -debugger dtype = 11 -shape = [32, 192, 13, 13] ------------------------------------------------------------ -tensor_info_3 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op300 -slot = 1 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_3 attributes: -data (printed in uint8) = [ 0 169 0 ... 217 4 52] -size in bytes = 831744 -debugger dtype = 8 -shape = [207936] diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.py b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.py deleted file mode 100644 index f963e6b3a6e..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_read_tensors.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Read tensor test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d -import numpy as np - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/home/jtzanaka/dumps/sync_trans_false/032421/alexnet") - - _ = debugger_backend.initialize( - net_name="Network Name goes here!", is_sync_mode=True) - - # parameter - info1 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=True) - # output tensor with zero slot - info2 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op308", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - # output tensor with non-zero slot - info3 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op300", - slot=1, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - - tensor_info = [info1, info2, info3] - - tensor_data = debugger_backend.read_tensors(tensor_info) - - print_read_tensors(tensor_info, tensor_data) - - -def print_read_tensors(tensor_info, tensor_data): - """Print read tensors.""" - for x, _ in enumerate(tensor_info): - print("-----------------------------------------------------------") - print("tensor_info_" + str(x+1) + " attributes:") - print("node name = ", tensor_info[x].node_name) - print("slot = ", tensor_info[x].slot) - print("iteration = ", tensor_info[x].iteration) - print("device_id = ", tensor_info[x].device_id) - print("root_graph_id = ", tensor_info[x].root_graph_id) - print("is_parameter = ", tensor_info[x].is_parameter) - print() - print("tensor_data_" + str(x+1) + " attributes:") - print("data (printed in uint8) = ", np.frombuffer( - tensor_data[x].data_ptr, np.uint8, tensor_data[x].data_size)) - py_byte_size = len(tensor_data[x].data_ptr) - c_byte_size = tensor_data[x].data_size - if c_byte_size != py_byte_size: - print("The python byte size of ", py_byte_size, - " does not match the C++ byte size of ", c_byte_size) - print("size in bytes = ", tensor_data[x].data_size) - print("debugger dtype = ", tensor_data[x].dtype) - print("shape = ", tensor_data[x].shape) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.expected b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.expected deleted file mode 100644 index 5928d44d547..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.expected +++ /dev/null @@ -1,33 +0,0 @@ ------------------------------------------------------------ -watchpoint_hit for test_1 attributes: -name = Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op308 -slot = 0 -condition = 6 -watchpoint_id = 1 -parameter 0 name = param -parameter 0 disabled = False -parameter 0 value = 0.0 -parameter 0 hit = True -parameter 0 actual_value = -2.429065704345703 -error code = 0 -device_id = 0 -root_graph_id = 0 ------------------------------------------------------------ -watchpoint_hit for test_4 attributes: -name = Default/network-WithLossCell/_backbone-AlexNet/fc3-Dense/Parameter[6]_11/fc3.bias -slot = 0 -condition = 18 -watchpoint_id = 3 -parameter 0 name = abs_mean_update_ratio_gt -parameter 0 disabled = False -parameter 0 value = 0.0 -parameter 0 hit = True -parameter 0 actual_value = 1.793662034335766e-35 -parameter 1 name = epsilon -parameter 1 disabled = True -parameter 1 value = 0.0 -parameter 1 hit = False -parameter 1 actual_value = 0.0 -error code = 0 -device_id = 0 -root_graph_id = 0 diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.py b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.py deleted file mode 100644 index 870fcf75cda..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_false_watchpoints.py +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Watchpoints test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/home/jtzanaka/dumps/sync_trans_false/032421/alexnet") - - _ = debugger_backend.initialize( - net_name="Network Name goes here!", is_sync_mode=True) - - # NOTES: - # -> watch_condition=6 is MIN_LT - # -> watch_condition=18 is CHANGE_TOO_LARGE - - # test 1: watchpoint set and hit (watch_condition=6) - param1 = d.Parameter(name="param", disabled=False, value=0.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=1, watch_condition=6, - check_node_list={"Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/" - "Conv2D-op308": - {"device_id": [0], "root_graph_id": [0], "is_parameter": False - }}, parameter_list=[param1]) - - watchpoint_hits_test_1 = debugger_backend.check_watchpoints(iteration=2) - if len(watchpoint_hits_test_1) != 1: - print("ERROR -> test 1: watchpoint set but not hit just once") - print_watchpoint_hits(watchpoint_hits_test_1, 1) - - # test 2: watchpoint remove and ensure it's not hit - _ = debugger_backend.remove_watchpoint(watchpoint_id=1) - watchpoint_hits_test_2 = debugger_backend.check_watchpoints(iteration=2) - if watchpoint_hits_test_2: - print("ERROR -> test 2: watchpoint removed but hit") - - # test 3: watchpoint set and not hit, then remove - param2 = d.Parameter(name="param", disabled=False, value=-1000.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=2, watch_condition=6, - check_node_list={"Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/" - "Conv2D-op308": - {"device_id": [0], "root_graph_id": [0], "is_parameter": False - }}, parameter_list=[param2]) - - watchpoint_hits_test_3 = debugger_backend.check_watchpoints(iteration=2) - if watchpoint_hits_test_3: - print("ERROR -> test 3: watchpoint set but not supposed to be hit") - _ = debugger_backend.remove_watchpoint(watchpoint_id=2) - - # test 4: weight change watchpoint set and hit - param_abs_mean_update_ratio_gt = d.Parameter( - name="abs_mean_update_ratio_gt", disabled=False, value=0.0) - param_epsilon = d.Parameter(name="epsilon", disabled=True, value=0.0) - _ = debugger_backend.add_watchpoint(watchpoint_id=3, watch_condition=18, - check_node_list={"Default/network-WithLossCell/_backbone-AlexNet/fc3-Dense/" - "Parameter[6]_11/fc3.bias": - {"device_id": [0], "root_graph_id": [0], "is_parameter": True - }}, parameter_list=[param_abs_mean_update_ratio_gt, - param_epsilon]) - - watchpoint_hits_test_4 = debugger_backend.check_watchpoints(iteration=3) - if len(watchpoint_hits_test_4) != 1: - print("ERROR -> test 4: watchpoint weight change set but not hit just once") - print_watchpoint_hits(watchpoint_hits_test_4, 4) - - -def print_watchpoint_hits(watchpoint_hits, test_id): - """Print watchpoint hits.""" - for x, _ in enumerate(watchpoint_hits): - print("-----------------------------------------------------------") - print("watchpoint_hit for test_%u attributes:" % test_id) - print("name = ", watchpoint_hits[x].name) - print("slot = ", watchpoint_hits[x].slot) - print("condition = ", watchpoint_hits[x].condition) - print("watchpoint_id = ", watchpoint_hits[x].watchpoint_id) - for p, _ in enumerate(watchpoint_hits[x].parameters): - print("parameter ", p, " name = ", - watchpoint_hits[x].parameters[p].name) - print("parameter ", p, " disabled = ", - watchpoint_hits[x].parameters[p].disabled) - print("parameter ", p, " value = ", - watchpoint_hits[x].parameters[p].value) - print("parameter ", p, " hit = ", - watchpoint_hits[x].parameters[p].hit) - print("parameter ", p, " actual_value = ", - watchpoint_hits[x].parameters[p].actual_value) - print("error code = ", watchpoint_hits[x].error_code) - print("device_id = ", watchpoint_hits[x].device_id) - print("root_graph_id = ", watchpoint_hits[x].root_graph_id) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.expected b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.expected deleted file mode 100644 index 286072a0431..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.expected +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------ -tensor_info_1 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = True - -tensor_data_1 attributes: -data (printed in uint8) = [ 1 0 0 0 195 127 0 0 80 58 118 65 195 127 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 186 117 65 - 195 127 0 0 5 0 0 0 0 0 0 0 160 76 6 204 195 127 - 0 0 69 0 0 0 0 0 0 0 1 0 0 0 195 127 0 0 - 48 135 117 65 195 127 0 0 16 58 118 65 195 127 0 0 144 58 - 118 65 195 127 0 0 168 186 117 65 195 127 0 0 6 0 0 0 - 0 0 0 0 160 47 6 204 195 127 0 0 69 0 0 0 0 0 - 0 0 1 0 0 0 195 127 0 0 80 58 118 65 195 127 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 184 249 - 117 65 195 127 0 0 7 0 0 0 0 0 0 0 96 39 6 204 - 195 127 0 0 69 0 0 0 0 0 0 0 1 0 0 0 195 127 - 0 0 224 218 117 65 195 127 0 0 0 0 0 0 0 0 0 0 - 224 219 117 65 195 127 0 0 200 17 118 65 195 127 0 0 8 0 - 0 0 0 0 0 0 128 130 5 204 195 127 0 0 69 0 0 0 - 0 0 0 0 1 0 0 0 195 127 0 0 120 233 255 59 196 127 - 0 0 224 217 117 65 195 127 0 0 224 214 117 65 195 127 0 0 - 120 250 117 65 195 127 0 0 9 0 0 0 0 0 0 0 176 213 - 4 204 195 127 0 0 69 0 0 0 0 0 0 0 1 0 0 0 - 195 127 0 0 240 66 118 65 195 127 0 0 160 218 117 65 195 127 - 0 0 224 215 117 65 195 127 0 0 40 9 118 65 195 127 0 0 - 10 0 0 0 0 0 0 0 16 46 4 204 195 127 0 0 69 0 - 0 0 0 0 0 0 1 0 0 0 195 127 0 0 208 59 118 65 - 195 127 0 0 0 0 0 0 0 0 0 0 96 218 117 65 195 127 - 0 0 56 251 117 65 195 127 0 0 11 0 0 0 0 0 0 0 - 32 137 3 204 195 127 0 0 85 0 0 0 0 0 0 0 1 0 - 0 0 195 127 0 0 224 214 117 65 195 127 0 0 144 59 118 65 - 195 127 0 0 160 214 117 65 195 127 0 0 136 62 118 65 195 127 - 0 0 12 0 0 0 0 0 0 0 48 104 15 204 195 127 0 0 - 32 104 15 204 195 127 0 0] -size in bytes = 512 -debugger dtype = 11 -shape = [128] ------------------------------------------------------------ -tensor_info_2 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op308 -slot = 0 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_2 attributes: -data (printed in uint8) = [206 239 74 ... 53 201 62] -size in bytes = 4153344 -debugger dtype = 11 -shape = [32, 192, 13, 13] ------------------------------------------------------------ -tensor_info_3 attributes: -node name = Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op300 -slot = 1 -iteration = 2 -device_id = None -root_graph_id = 0 -is_parameter = False - -tensor_data_3 attributes: -data (printed in uint8) = [206 239 74 ... 16 239 51] -size in bytes = 831744 -debugger dtype = 8 -shape = [207936] diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.py b/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.py deleted file mode 100644 index 54ef2bd5c1d..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/gpu_tests/sync_trans_true_read_tensors.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Read tensor test script for offline debugger APIs. -""" - -import mindspore.offline_debug.dbg_services as d -import numpy as np - - -def main(): - - debugger_backend = d.DbgServices( - dump_file_path="/home/jtzanaka/dumps/sync_trans_true/032421/alexnet") - - _ = debugger_backend.initialize( - net_name="Network Name goes here!", is_sync_mode=True) - - # parameter - info1 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv2-Conv2d/conv2.bias", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=True) - # output tensor with zero slot - info2 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/conv3-Conv2d/Conv2D-op308", - slot=0, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - # output tensor with non-zero slot - info3 = d.TensorInfo(node_name="Default/network-WithLossCell/_backbone-AlexNet/ReLUV2-op300", - slot=1, iteration=2, device_id=0, root_graph_id=0, is_parameter=False) - - tensor_info = [info1, info2, info3] - - tensor_data = debugger_backend.read_tensors(tensor_info) - - print_read_tensors(tensor_info, tensor_data) - - -def print_read_tensors(tensor_info, tensor_data): - """Print read tensors.""" - for x, _ in enumerate(tensor_info): - print("-----------------------------------------------------------") - print("tensor_info_" + str(x+1) + " attributes:") - print("node name = ", tensor_info[x].node_name) - print("slot = ", tensor_info[x].slot) - print("iteration = ", tensor_info[x].iteration) - print("device_id = ", tensor_info[x].device_id) - print("root_graph_id = ", tensor_info[x].root_graph_id) - print("is_parameter = ", tensor_info[x].is_parameter) - print() - print("tensor_data_" + str(x+1) + " attributes:") - print("data (printed in uint8) = ", np.frombuffer( - tensor_data[x].data_ptr, np.uint8, tensor_data[x].data_size)) - py_byte_size = len(tensor_data[x].data_ptr) - c_byte_size = tensor_data[x].data_size - if c_byte_size != py_byte_size: - print("The python byte size of ", py_byte_size, - " does not match the C++ byte size of ", c_byte_size) - print("size in bytes = ", tensor_data[x].data_size) - print("debugger dtype = ", tensor_data[x].dtype) - print("shape = ", tensor_data[x].shape) - - -if __name__ == "__main__": - main() diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/mi_validator_helpers.py b/mindspore/ccsrc/debug/debugger/offline_debug/mi_validator_helpers.py deleted file mode 100644 index abc4b38223f..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/mi_validator_helpers.py +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -General Validator Helper Functions. -""" -import os -import inspect - -UINT32_MAX = 4294967295 -UINT32_MIN = 0 -UINT64_MAX = 18446744073709551615 -UINT64_MIN = 0 - - -def pad_arg_name(arg_name): - if arg_name != "": - arg_name = arg_name + " " - return arg_name - - -def check_value(arg, valid_range, arg_name=""): - arg_name = pad_arg_name(arg_name) - if arg < valid_range[0] or arg > valid_range[1]: - raise ValueError( - "Input {0}is not within the required interval of ({1} to {2}).".format(arg_name, - valid_range[0], valid_range[1])) - - -def check_uint32(arg, arg_name=""): - type_check(arg, (int,), arg_name) - check_value(arg, [UINT32_MIN, UINT32_MAX]) - - -def check_uint64(arg, arg_name=""): - type_check(arg, (int,), arg_name) - check_value(arg, [UINT64_MIN, UINT64_MAX]) - - -def check_dir(dataset_dir): - if not os.path.isdir(dataset_dir) or not os.access(dataset_dir, os.R_OK): - raise ValueError("The folder {} does not exist or permission denied!".format(dataset_dir)) - - -def parse_user_args(method, *args, **kwargs): - """ - Parse user arguments in a function. - - Args: - method (method): a callable function. - args: user passed args. - kwargs: user passed kwargs. - - Returns: - user_filled_args (list): values of what the user passed in for the arguments. - ba.arguments (Ordered Dict): ordered dict of parameter and argument for what the user has passed. - """ - sig = inspect.signature(method) - if 'self' in sig.parameters or 'cls' in sig.parameters: - ba = sig.bind(method, *args, **kwargs) - ba.apply_defaults() - params = list(sig.parameters.keys())[1:] - else: - ba = sig.bind(*args, **kwargs) - ba.apply_defaults() - params = list(sig.parameters.keys()) - - user_filled_args = [ba.arguments.get(arg_value) for arg_value in params] - return user_filled_args, ba.arguments - - -def type_check(arg, types, arg_name): - """ - Check the type of the parameter. - - Args: - arg (Any) : any variable. - types (tuple): tuple of all valid types for arg. - arg_name (str): the name of arg. - - Returns: - Exception: when the type is not correct, otherwise nothing. - """ - # handle special case of booleans being a subclass of ints - print_value = '\"\"' if repr(arg) == repr('') else arg - - if int in types and bool not in types: - if isinstance(arg, bool): - raise TypeError("Argument {0} with value {1} is not of type {2}.".format(arg_name, print_value, types)) - if not isinstance(arg, types): - raise TypeError("Argument {0} with value {1} is not of type {2}.".format(arg_name, print_value, types)) - - -def type_check_list(args, types, arg_names): - """ - Check the type of each parameter in the list. - - Args: - args (Union[list, tuple]): a list or tuple of any variable. - types (tuple): tuple of all valid types for arg. - arg_names (Union[list, tuple of str]): the names of args. - - Returns: - Exception: when the type is not correct, otherwise nothing. - """ - type_check(args, (list, tuple,), arg_names) - if len(args) != len(arg_names) and not isinstance(arg_names, str): - raise ValueError("List of arguments is not the same length as argument_names.") - if isinstance(arg_names, str): - arg_names = ["{0}[{1}]".format(arg_names, i) for i in range(len(args))] - for arg, arg_name in zip(args, arg_names): - type_check(arg, types, arg_name) diff --git a/mindspore/ccsrc/debug/debugger/offline_debug/mi_validators.py b/mindspore/ccsrc/debug/debugger/offline_debug/mi_validators.py deleted file mode 100644 index d30515cd412..00000000000 --- a/mindspore/ccsrc/debug/debugger/offline_debug/mi_validators.py +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# 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. -# ============================================================================== -""" -Validator Functions for Offline Debugger APIs. -""" -from functools import wraps - -import dbg_services as cds -from mi_validator_helpers import parse_user_args, type_check, type_check_list, check_dir, check_uint32, check_uint64 - - -def check_init(method): - """Wrapper method to check the parameters of DbgServices init.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [dump_file_path, verbose], _ = parse_user_args(method, *args, **kwargs) - - type_check(dump_file_path, (str,), "dump_file_path") - type_check(verbose, (bool,), "verbose") - check_dir(dump_file_path) - - return method(self, *args, **kwargs) - - return new_method - - -def check_initialize(method): - """Wrapper method to check the parameters of DbgServices Initialize method.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [net_name, is_sync_mode], _ = parse_user_args(method, *args, **kwargs) - - type_check(net_name, (str,), "net_name") - type_check(is_sync_mode, (bool,), "is_sync_mode") - - return method(self, *args, **kwargs) - - return new_method - - -def check_add_watchpoint(method): - """Wrapper method to check the parameters of DbgServices AddWatchpoint.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [id_value, watch_condition, check_node_list, parameter_list], _ = parse_user_args(method, *args, **kwargs) - - check_uint32(id_value, "id") - check_uint32(watch_condition, "watch_condition") - type_check(check_node_list, (dict,), "check_node_list") - for node_name, node_info in check_node_list.items(): - type_check(node_name, (str,), "node_name") - type_check(node_info, (dict,), "node_info") - for info_name, info_param in node_info.items(): - type_check(info_name, (str,), "node parameter name") - if info_name in ["device_id"]: - for param in info_param: - check_uint32(param, "device_id") - elif info_name in ["root_graph_id"]: - for param in info_param: - check_uint32(param, "root_graph_id") - elif info_name in ["is_parameter"]: - type_check(info_param, (bool,), "is_parameter") - else: - raise ValueError("Node parameter {} is not defined.".format(info_name)) - param_names = ["param_{0}".format(i) for i in range(len(parameter_list))] - type_check_list(parameter_list, (cds.Parameter,), param_names) - - return method(self, *args, **kwargs) - - return new_method - - -def check_remove_watchpoint(method): - """Wrapper method to check the parameters of DbgServices RemoveWatchpoint.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [id_value], _ = parse_user_args(method, *args, **kwargs) - - check_uint32(id_value, "id") - - return method(self, *args, **kwargs) - - return new_method - - -def check_check_watchpoints(method): - """Wrapper method to check the parameters of DbgServices CheckWatchpoint.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [iteration], _ = parse_user_args(method, *args, **kwargs) - - check_uint32(iteration, "iteration") - - return method(self, *args, **kwargs) - - return new_method - - -def check_read_tensors(method): - """Wrapper method to check the parameters of DbgServices ReadTensors.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [info_list], _ = parse_user_args(method, *args, **kwargs) - - info_names = ["info_{0}".format(i) for i in range(len(info_list))] - type_check_list(info_list, (cds.TensorInfo,), info_names) - - return method(self, *args, **kwargs) - - return new_method - - -def check_initialize_done(method): - """Wrapper method to check if initlize is done for DbgServices.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - - if not self.initialized: - raise RuntimeError("Inilize should be called before any other methods of DbgServices!") - return method(self, *args, **kwargs) - - return new_method - - -def check_tensor_info_init(method): - """Wrapper method to check the parameters of DbgServices TensorInfo init.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [node_name, slot, iteration, device_id, root_graph_id, - is_parameter], _ = parse_user_args(method, *args, **kwargs) - - type_check(node_name, (str,), "node_name") - check_uint32(slot, "slot") - check_uint32(iteration, "iteration") - check_uint32(device_id, "device_id") - check_uint32(root_graph_id, "root_graph_id") - type_check(is_parameter, (bool,), "is_parameter") - - return method(self, *args, **kwargs) - - return new_method - - -def check_tensor_data_init(method): - """Wrapper method to check the parameters of DbgServices TensorData init.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [data_ptr, data_size, dtype, shape], _ = parse_user_args(method, *args, **kwargs) - - type_check(data_ptr, (bytes,), "data_ptr") - check_uint64(data_size, "data_size") - type_check(dtype, (int,), "dtype") - shape_names = ["shape_{0}".format(i) for i in range(len(shape))] - type_check_list(shape, (int,), shape_names) - - if len(data_ptr) != data_size: - raise ValueError("data_ptr length ({0}) is not equal to data_size ({1}).".format(len(data_ptr), data_size)) - - return method(self, *args, **kwargs) - - return new_method - - -def check_watchpoint_hit_init(method): - """Wrapper method to check the parameters of DbgServices WatchpointHit init.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [name, slot, condition, watchpoint_id, - parameters, error_code, device_id, root_graph_id], _ = parse_user_args(method, *args, **kwargs) - - type_check(name, (str,), "name") - check_uint32(slot, "slot") - type_check(condition, (int,), "condition") - check_uint32(watchpoint_id, "watchpoint_id") - param_names = ["param_{0}".format(i) for i in range(len(parameters))] - type_check_list(parameters, (cds.Parameter,), param_names) - type_check(error_code, (int,), "error_code") - check_uint32(device_id, "device_id") - check_uint32(root_graph_id, "root_graph_id") - - return method(self, *args, **kwargs) - - return new_method - - -def check_parameter_init(method): - """Wrapper method to check the parameters of DbgServices Parameter init.""" - - @wraps(method) - def new_method(self, *args, **kwargs): - [name, disabled, value, hit, actual_value], _ = parse_user_args(method, *args, **kwargs) - - type_check(name, (str,), "name") - type_check(disabled, (bool,), "disabled") - type_check(value, (float,), "value") - type_check(hit, (bool,), "hit") - type_check(actual_value, (float,), "actual_value") - - return method(self, *args, **kwargs) - - return new_method