Browse Source

!1012 fix the issue that shown actual value of rtol, range_start_inclusive and range_end_inclusive

From: @jiang-shuqiang
Reviewed-by: @wenkai_dist,@lilongfei15
Signed-off-by: @lilongfei15
tags/v1.1.0
mindspore-ci-bot Gitee 5 years ago
parent
commit
e04aad0392
3 changed files with 84 additions and 55 deletions
  1. +28
    -2
      mindinsight/debugger/conditionmgr/condition.py
  2. +52
    -51
      mindinsight/debugger/conditionmgr/condition_list.py
  3. +4
    -2
      mindinsight/debugger/debugger_grpc_server.py

+ 28
- 2
mindinsight/debugger/conditionmgr/condition.py View File

@@ -22,6 +22,32 @@ from enum import Enum
from mindinsight.debugger.conditionmgr.log import logger


class ParamNameEnum(Enum):
"""Param names."""
ABS_MEAN_GT = "abs_mean_gt"
ABS_MEAN_LT = "abs_mean_lt"
ABS_MEAN_UPDATE_RATIO_GT = "abs_mean_update_ratio_gt"
ABS_MEAN_UPDATE_RATIO_LT = "abs_mean_update_ratio_lt"
ATOL = "atol"
EQUAL_NAN = "equal_nan"
EPSILON = "epsilon"
MAX_GT = "max_gt"
MAX_LT = "max_lt"
MIN_GT = "min_gt"
MIN_LT = "min_lt"
MEAN_GT = "mean_gt"
MEAN_LT = "mean_lt"
MAX_MIN_GT = "max_min_gt"
MAX_MIN_LT = "max_min_lt"
PARAM = "param"
RANGE_START_INCLUSIVE = "range_start_inclusive"
RANGE_END_INCLUSIVE = "range_end_inclusive"
RANGE_PERCENTAGE_GT = "range_percentage_gt"
RANGE_PERCENTAGE_LT = "range_percentage_lt"
RTOL = "rtol"
ZERO_PERCENTAGE_GE = "zero_percentage_ge"


class ConditionIdEnum(Enum):
"""Condition ids."""
WEIGHT_INITIALIZATION = "weight_initialization"
@@ -121,7 +147,7 @@ class ConditionParameter:
The class for parameters of conditions.

Args:
name (str): parameter name.
name (ParamNameEnum): parameter name.
value_type (ValueTypeEnum): the type of value.
valid_test_func (func): the function used to test whether the param is valid.
support_disable (bool): whether the param support no assignment.
@@ -133,7 +159,7 @@ class ConditionParameter:

def __init__(self, name, value_type: ValueTypeEnum, valid_test_func=None, support_disable=True, default_value=None,
visible_on_ui=True, param_type=ParamTypeEnum.CHECK_PARAM, required_params=None):
self._name = name
self._name = name.value
self._type = value_type
self._valid_test_func = valid_test_func
self._support_disable = support_disable


+ 52
- 51
mindinsight/debugger/conditionmgr/condition_list.py View File

@@ -25,6 +25,7 @@ from mindinsight.debugger.conditionmgr.condition import TargetTypeEnum
from mindinsight.debugger.conditionmgr.condition import PlatformEnum
from mindinsight.debugger.conditionmgr.condition import ParamTypeEnum
from mindinsight.debugger.conditionmgr.condition import ConditionIdEnum
from mindinsight.debugger.conditionmgr.condition import ParamNameEnum
from mindinsight.debugger.conditionmgr.condition import check_initialization_available
from mindinsight.debugger.conditionmgr.condition import check_normal_param_range
from mindinsight.debugger.conditionmgr.condition import check_percentage_param_range
@@ -39,18 +40,18 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="zero_percentage_ge",
name=ParamNameEnum.ZERO_PERCENTAGE_GE,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_percentage_param_range,
default_value=100
),
ConditionParameter(
name="max_gt",
name=ParamNameEnum.MAX_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_lt",
name=ParamNameEnum.MIN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -77,22 +78,22 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_gt",
name=ParamNameEnum.ABS_MEAN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range
),
ConditionParameter(
name="max_gt",
name=ParamNameEnum.MAX_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_gt",
name=ParamNameEnum.MIN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="mean_gt",
name=ParamNameEnum.MEAN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -108,22 +109,22 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_lt",
name=ParamNameEnum.ABS_MEAN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range
),
ConditionParameter(
name="max_lt",
name=ParamNameEnum.MAX_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_lt",
name=ParamNameEnum.MIN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="mean_lt",
name=ParamNameEnum.MEAN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -139,22 +140,22 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_lt",
name=ParamNameEnum.ABS_MEAN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range
),
ConditionParameter(
name="max_lt",
name=ParamNameEnum.MAX_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_lt",
name=ParamNameEnum.MIN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="mean_lt",
name=ParamNameEnum.MEAN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -170,22 +171,22 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_gt",
name=ParamNameEnum.ABS_MEAN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range
),
ConditionParameter(
name="max_gt",
name=ParamNameEnum.MAX_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_gt",
name=ParamNameEnum.MIN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="mean_gt",
name=ParamNameEnum.MEAN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -231,22 +232,22 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_gt",
name=ParamNameEnum.ABS_MEAN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range
),
ConditionParameter(
name="max_gt",
name=ParamNameEnum.MAX_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_gt",
name=ParamNameEnum.MIN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="mean_gt",
name=ParamNameEnum.MEAN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -262,22 +263,22 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_lt",
name=ParamNameEnum.ABS_MEAN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range
),
ConditionParameter(
name="max_lt",
name=ParamNameEnum.MAX_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="min_lt",
name=ParamNameEnum.MIN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="mean_lt",
name=ParamNameEnum.MEAN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -293,7 +294,7 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="zero_percentage_ge",
name=ParamNameEnum.ZERO_PERCENTAGE_GE,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_percentage_param_range,
default_value=100
@@ -310,20 +311,20 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="rtol",
name=ParamNameEnum.RTOL,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range,
default_value=1e-5
),
ConditionParameter(
name="atol",
name=ParamNameEnum.ATOL,
value_type=ValueTypeEnum.FLOAT64,
support_disable=False,
default_value=1e-8,
visible_on_ui=False
),
ConditionParameter(
name="equal_nan",
name=ParamNameEnum.EQUAL_NAN,
value_type=ValueTypeEnum.BOOL,
support_disable=False,
default_value=False,
@@ -341,13 +342,13 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_update_ratio_gt",
name=ParamNameEnum.ABS_MEAN_UPDATE_RATIO_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range,
default_value=1e-1
),
ConditionParameter(
name="epsilon",
name=ParamNameEnum.EPSILON,
value_type=ValueTypeEnum.FLOAT64,
support_disable=False,
default_value=1e-9,
@@ -365,13 +366,13 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="abs_mean_update_ratio_lt",
name=ParamNameEnum.ABS_MEAN_UPDATE_RATIO_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_abs_param_range,
default_value=1e-4
),
ConditionParameter(
name="epsilon",
name=ParamNameEnum.EPSILON,
value_type=ValueTypeEnum.FLOAT64,
support_disable=False,
default_value=1e-9,
@@ -389,36 +390,36 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="range_start_inclusive",
name=ParamNameEnum.RANGE_START_INCLUSIVE,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range,
param_type=ParamTypeEnum.SUPPORT_PARAM
),
ConditionParameter(
name="range_end_inclusive",
name=ParamNameEnum.RANGE_END_INCLUSIVE,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range,
param_type=ParamTypeEnum.SUPPORT_PARAM
),
ConditionParameter(
name="range_percentage_lt",
name=ParamNameEnum.RANGE_PERCENTAGE_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_percentage_param_range,
required_params=["range_start_inclusive", "range_end_inclusive"]
required_params=[ParamNameEnum.RANGE_START_INCLUSIVE.value, ParamNameEnum.RANGE_END_INCLUSIVE.value]
),
ConditionParameter(
name="range_percentage_gt",
name=ParamNameEnum.RANGE_PERCENTAGE_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_percentage_param_range,
required_params=["range_start_inclusive", "range_end_inclusive"]
required_params=[ParamNameEnum.RANGE_START_INCLUSIVE.value, ParamNameEnum.RANGE_END_INCLUSIVE.value]
),
ConditionParameter(
name="max_min_lt",
name=ParamNameEnum.MAX_MIN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="max_min_gt",
name=ParamNameEnum.MAX_MIN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)
@@ -434,36 +435,36 @@ CONDITION_LIST = [
optimize_phase=OptimizePhaseEnum.TENSOR_CHECK,
parameters=[
ConditionParameter(
name="range_start_inclusive",
name=ParamNameEnum.RANGE_START_INCLUSIVE,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range,
param_type=ParamTypeEnum.SUPPORT_PARAM
),
ConditionParameter(
name="range_end_inclusive",
name=ParamNameEnum.RANGE_END_INCLUSIVE,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range,
param_type=ParamTypeEnum.SUPPORT_PARAM
),
ConditionParameter(
name="range_percentage_lt",
name=ParamNameEnum.RANGE_PERCENTAGE_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_percentage_param_range,
required_params=["range_start_inclusive", "range_end_inclusive"]
required_params=[ParamNameEnum.RANGE_START_INCLUSIVE.value, ParamNameEnum.RANGE_END_INCLUSIVE.value]
),
ConditionParameter(
name="range_percentage_gt",
name=ParamNameEnum.RANGE_PERCENTAGE_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_percentage_param_range,
required_params=["range_start_inclusive", "range_end_inclusive"]
required_params=[ParamNameEnum.RANGE_START_INCLUSIVE.value, ParamNameEnum.RANGE_END_INCLUSIVE.value]
),
ConditionParameter(
name="max_min_lt",
name=ParamNameEnum.MAX_MIN_LT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
),
ConditionParameter(
name="max_min_gt",
name=ParamNameEnum.MAX_MIN_GT,
value_type=ValueTypeEnum.FLOAT64,
valid_test_func=check_normal_param_range
)


+ 4
- 2
mindinsight/debugger/debugger_grpc_server.py View File

@@ -21,7 +21,7 @@ import mindinsight
from mindinsight.debugger.common.log import LOGGER as log
from mindinsight.debugger.common.utils import get_ack_reply, ServerStatus, \
Streams, RunLevel
from mindinsight.debugger.conditionmgr.condition import TargetTypeEnum
from mindinsight.debugger.conditionmgr.condition import TargetTypeEnum, ParamNameEnum
from mindinsight.debugger.proto import debug_grpc_pb2_grpc as grpc_server_base
from mindinsight.debugger.proto.ms_graph_pb2 import GraphProto

@@ -503,7 +503,9 @@ class DebuggerGrpcServer(grpc_server_base.EventListenerServicer):
}
hit_params = {}
for param in watchpoint_hit_proto.watch_condition.params:
if param.actual_value is not None:
if param.actual_value is not None and param.name not in \
(ParamNameEnum.RTOL.value, ParamNameEnum.RANGE_START_INCLUSIVE.value,
ParamNameEnum.RANGE_END_INCLUSIVE.value):
hit_params[param.name] = param.actual_value
for i, param in enumerate(watchpoint_hit['watchpoint'].condition['params']):
name = param['name']


Loading…
Cancel
Save