You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

error_code.py 11 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. # Copyright 2019 Huawei Technologies Co., Ltd
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. # ============================================================================
  15. """Lineage error code and messages."""
  16. from enum import Enum, unique
  17. from mindinsight.utils.constant import LineageMgrErrors as LineageErrorCodes
  18. _PARAM_ERROR_MASK = 0b00001 << 7
  19. _MINDSPORE_COLLECTOR_ERROR = 0b00011 << 7
  20. _MODEL_LINEAGE_API_ERROR_MASK = 0b00100 << 7
  21. _DATASET_COLLECTOR_ERROR_MASK = 0b00101 << 7
  22. _DATASET_LINEAGE_ERROR_MASK = 0b00110 << 7
  23. _SUMMARY_ANALYZE_ERROR_MASK = 0b00111 << 7
  24. _QUERIER_ERROR_MASK = 0b01000 << 7
  25. @unique
  26. class LineageErrors(LineageErrorCodes):
  27. """Lineage error codes."""
  28. PARAM_TYPE_ERROR = 0 | _PARAM_ERROR_MASK
  29. PARAM_VALUE_ERROR = 1 | _PARAM_ERROR_MASK
  30. PARAM_MISSING_ERROR = 2 | _PARAM_ERROR_MASK
  31. PARAM_SUMMARY_RECORD_ERROR = 3 | _PARAM_ERROR_MASK
  32. PARAM_RAISE_EXCEPTION_ERROR = 4 | _PARAM_ERROR_MASK
  33. # MindSpore Collector error codes.
  34. PARAM_RUN_CONTEXT_ERROR = 0 | _MINDSPORE_COLLECTOR_ERROR
  35. PARAM_OPTIMIZER_ERROR = 1 | _MINDSPORE_COLLECTOR_ERROR
  36. PARAM_LOSS_FN_ERROR = 2 | _MINDSPORE_COLLECTOR_ERROR
  37. PARAM_TRAIN_NETWORK_ERROR = 3 | _MINDSPORE_COLLECTOR_ERROR
  38. PARAM_DATASET_ERROR = 4 | _MINDSPORE_COLLECTOR_ERROR
  39. PARAM_EPOCH_NUM_ERROR = 5 | _MINDSPORE_COLLECTOR_ERROR
  40. PARAM_BATCH_NUM_ERROR = 6 | _MINDSPORE_COLLECTOR_ERROR
  41. PARAM_TRAIN_PARALLEL_ERROR = 7 | _MINDSPORE_COLLECTOR_ERROR
  42. PARAM_DEVICE_NUMBER_ERROR = 8 | _MINDSPORE_COLLECTOR_ERROR
  43. PARAM_FILE_PATH_ERROR = 9 | _MINDSPORE_COLLECTOR_ERROR
  44. PARAM_DATASET_SIZE_ERROR = 10 | _MINDSPORE_COLLECTOR_ERROR
  45. PARAM_LEARNING_RATE_ERROR = 11 | _MINDSPORE_COLLECTOR_ERROR
  46. PARAM_EVAL_METRICS_ERROR = 12 | _MINDSPORE_COLLECTOR_ERROR
  47. PARAM_BATCH_SIZE_ERROR = 13 | _MINDSPORE_COLLECTOR_ERROR
  48. PARAM_NET_OUTPUTS_ERROR = 14 | _MINDSPORE_COLLECTOR_ERROR
  49. PARAM_CALLBACK_LIST_ERROR = 15 | _MINDSPORE_COLLECTOR_ERROR
  50. LINEAGE_GET_MODEL_FILE_ERROR = 16 | _MINDSPORE_COLLECTOR_ERROR
  51. LOG_LINEAGE_INFO_ERROR = 17 | _MINDSPORE_COLLECTOR_ERROR
  52. PARAM_STEP_NUM_ERROR = 18 | _MINDSPORE_COLLECTOR_ERROR
  53. # Model lineage error codes.
  54. LINEAGE_PARAM_OPERATION_ERROR = 0 | _MODEL_LINEAGE_API_ERROR_MASK
  55. LINEAGE_PARAM_METRIC_ERROR = 1 | _MODEL_LINEAGE_API_ERROR_MASK
  56. LINEAGE_PARAM_LOSS_FUNCTION_ERROR = 4 | _MODEL_LINEAGE_API_ERROR_MASK
  57. LINEAGE_PARAM_TRAIN_DATASET_PATH_ERROR = 5 | _MODEL_LINEAGE_API_ERROR_MASK
  58. LINEAGE_PARAM_TRAIN_DATASET_COUNT_ERROR = 6 | _MODEL_LINEAGE_API_ERROR_MASK
  59. LINEAGE_PARAM_TEST_DATASET_PATH_ERROR = 7 | _MODEL_LINEAGE_API_ERROR_MASK
  60. LINEAGE_PARAM_TEST_DATASET_COUNT_ERROR = 8 | _MODEL_LINEAGE_API_ERROR_MASK
  61. LINEAGE_PARAM_NETWORK_ERROR = 9 | _MODEL_LINEAGE_API_ERROR_MASK
  62. LINEAGE_PARAM_OPTIMIZER_ERROR = 10 | _MODEL_LINEAGE_API_ERROR_MASK
  63. LINEAGE_PARAM_LEARNING_RATE_ERROR = 11 | _MODEL_LINEAGE_API_ERROR_MASK
  64. LINEAGE_PARAM_EPOCH_ERROR = 12 | _MODEL_LINEAGE_API_ERROR_MASK
  65. LINEAGE_PARAM_BATCH_SIZE_ERROR = 13 | _MODEL_LINEAGE_API_ERROR_MASK
  66. LINEAGE_PARAM_NOT_SUPPORT_ERROR = 14 | _MODEL_LINEAGE_API_ERROR_MASK
  67. LINEAGE_PARAM_LOSS_ERROR = 15 | _MODEL_LINEAGE_API_ERROR_MASK
  68. LINEAGE_PARAM_MODEL_SIZE_ERROR = 16 | _MODEL_LINEAGE_API_ERROR_MASK
  69. LINEAGE_PARAM_SUMMARY_DIR_ERROR = 17 | _MODEL_LINEAGE_API_ERROR_MASK
  70. LINEAGE_PARAM_SORTED_NAME_ERROR = 18 | _MODEL_LINEAGE_API_ERROR_MASK
  71. LINEAGE_PARAM_SORTED_TYPE_ERROR = 19 | _MODEL_LINEAGE_API_ERROR_MASK
  72. LINEAGE_DIR_NOT_EXIST_ERROR = 20 | _MODEL_LINEAGE_API_ERROR_MASK
  73. LINEAGE_SUMMARY_DATA_ERROR = 21 | _MODEL_LINEAGE_API_ERROR_MASK
  74. LINEAGE_FILE_NOT_FOUND_ERROR = 22 | _MODEL_LINEAGE_API_ERROR_MASK
  75. LINEAGE_PARAM_SUMMARY_PATH_ERROR = 23 | _MODEL_LINEAGE_API_ERROR_MASK
  76. LINEAGE_SEARCH_CONDITION_PARAM_ERROR = 24 | _MODEL_LINEAGE_API_ERROR_MASK
  77. LINEAGE_PARAM_LINEAGE_TYPE_ERROR = 25 | _MODEL_LINEAGE_API_ERROR_MASK
  78. # Dataset lineage error codes.
  79. LINEAGE_PARAM_DATASET_MARK_ERROR = 0 | _DATASET_LINEAGE_ERROR_MASK
  80. SUMMARY_ANALYZE_ERROR = 0 | _SUMMARY_ANALYZE_ERROR_MASK
  81. SUMMARY_VERIFICATION_ERROR = 1 | _SUMMARY_ANALYZE_ERROR_MASK
  82. # Querier error codes.
  83. EVENT_NOT_EXIST_ERROR = 0 | _QUERIER_ERROR_MASK
  84. QUERIER_PARAM_ERROR = 1 | _QUERIER_ERROR_MASK
  85. SUMMARY_PARSE_FAIL_ERROR = 2 | _QUERIER_ERROR_MASK
  86. EVENT_FIELD_NOT_EXIST_ERROR = 4 | _QUERIER_ERROR_MASK
  87. @unique
  88. class LineageErrorMsg(Enum):
  89. """Lineage error messages."""
  90. PARAM_TYPE_ERROR = "TypeError. {}"
  91. PARAM_VALUE_ERROR = "ValueError. {}"
  92. PARAM_MISSING_ERROR = "MissingError. {}"
  93. PARAM_LIMIT_ERROR = "Invalid input limit. 0 < limit <= 100"
  94. PARAM_OFFSET_ERROR = "Invalid input offset. 0 <= offset <= 100000"
  95. PARAM_SUMMARY_RECORD_ERROR = "Invalid value for summary_record. It should be an instance of " \
  96. "mindspore.train.summary.SummaryRecord"
  97. PARAM_RAISE_EXCEPTION_ERROR = "Invalid value for raise_exception. It should be True or False."
  98. # Lineage error messages.
  99. LINEAGE_PARAM_SUMMARY_PATH_ERROR = "The parameter summary path error: {}"
  100. LINEAGE_SUMMARY_DATA_ERROR = "Query summary data error: {}"
  101. LINEAGE_FILE_NOT_FOUND_ERROR = "File not found error: {}"
  102. LINEAGE_DIR_NOT_EXIST_ERROR = "Dir not exist error: {}"
  103. LINEAGE_SEARCH_CONDITION_PARAM_ERROR = "Search_condition param error: {}"
  104. # MindSpore Collector error messages.
  105. PARAM_RUN_CONTEXT_ERROR = "The parameter run_context is invalid. It should be an instance of " \
  106. "mindspore.train.callback.RunContext. {}"
  107. PARAM_OPTIMIZER_ERROR = "The parameter optimizer is invalid. It should be an instance of " \
  108. "mindspore.nn.optim.optimizer.Optimizer."
  109. PARAM_LOSS_FN_ERROR = "The parameter loss_fn is invalid. It should be a Function."
  110. PARAM_NET_OUTPUTS_ERROR = "The parameter net_outputs is invalid. It should be a Tensor."
  111. PARAM_TRAIN_NETWORK_ERROR = "The parameter train_network is invalid. It should be an instance of " \
  112. "mindspore.nn.cell.Cell."
  113. PARAM_EPOCH_NUM_ERROR = "The parameter epoch is invalid. It should be a positive integer."
  114. PARAM_STEP_NUM_ERROR = "The parameter step_num is invalid. It should be a positive integer."
  115. PARAM_BATCH_NUM_ERROR = "The parameter batch_num is invalid. It should be a non-negative integer."
  116. PARAM_TRAIN_PARALLEL_ERROR = "The parameter parallel_mode is invalid. It should be an integer" \
  117. "between 0 and 4."
  118. PARAM_DEVICE_NUMBER_ERROR = "The parameter device_number is invalid. It should be a positive integer."
  119. PARAM_LEARNING_RATE_ERROR = "The parameter learning_rate is invalid. It should be a float number or " \
  120. "an instance of mindspore.common.tensor.Tensor."
  121. PARAM_EVAL_METRICS_ERROR = "The parameter metrics is invalid. It should be a dictionary."
  122. PARAM_BATCH_SIZE_ERROR = "The parameter batch_size is invalid. It should be a non-negative integer."
  123. PARAM_CALLBACK_LIST_ERROR = "The parameter list_callback is invalid. It should be an instance of " \
  124. "mindspore.train.callback._ListCallback."
  125. LINEAGE_GET_MODEL_FILE_ERROR = "Error when get model file size. {}"
  126. LINEAGE_METRIC_ERROR = "The parameter {} is invalid. " \
  127. "It should be a dict and the value should be a float or a integer"
  128. LINEAGE_COMPARE_OPERATION_ERROR = "The schema error and compare operation should be" \
  129. " 'eq', 'lt', 'gt', 'ge', 'le', 'in'."
  130. LINEAGE_PARAM_SUMMARY_DIR_ERROR = "The parameter summary_dir is invalid. It should be a dict and the value " \
  131. "should be a string."
  132. LINEAGE_TRAIN_DATASET_PATH_ERROR = "The parameter train_dataset_path is invalid." \
  133. " It should be a dict and the value should be a string."
  134. LINEAGE_TRAIN_DATASET_COUNT_ERROR = "The parameter train_dataset_count is invalid. It should be a dict " \
  135. "and the value should be a integer between 0 and pow(2, 63) -1."
  136. LINEAGE_TEST_DATASET_PATH_ERROR = "The parameter test_dataset_path is invalid. " \
  137. "It should be a dict and the value should be a string."
  138. LINEAGE_TEST_DATASET_COUNT_ERROR = "The parameter test_dataset_count is invalid. It should be a dict " \
  139. "and the value should be a integer between 0 and pow(2, 63) -1."
  140. LINEAGE_NETWORK_ERROR = "The parameter network is invalid. It should be a dict and the value should be a string."
  141. LINEAGE_OPTIMIZER_ERROR = "The parameter optimizer is invalid. " \
  142. "It should be a dict and the value should be a string."
  143. LINEAGE_LOSS_FUNCTION_ERROR = "The parameter loss_function is invalid. " \
  144. "It should be a dict and the value should be a string."
  145. LINEAGE_LOSS_ERROR = "The parameter loss is invalid. " \
  146. "It should be a float."
  147. LINEAGE_MODEL_SIZE_ERROR = "The parameter model_size is invalid. " \
  148. "It should be an integer between 0 and pow(2, 63) -1."
  149. LINEAGE_LEARNING_RATE_ERROR = "The parameter learning_rate is invalid. " \
  150. "It should be a dict and the value should be a float or a integer."
  151. LINEAGE_PARAM_SORTED_NAME_ERROR = "The parameter sorted_name is invalid. " \
  152. "It should be a string."
  153. LINEAGE_PARAM_SORTED_TYPE_ERROR = "The parameter sorted_type is invalid. " \
  154. "It should be a string."
  155. LINEAGE_PARAM_LINEAGE_TYPE_ERROR = "The parameter lineage_type is invalid. " \
  156. "It should be 'dataset' or 'model'."
  157. LINEAGE_PARAM_DATASET_MARK_ERROR = "The parameter dataset_mark is invalid. " \
  158. "It should be a string."
  159. SUMMARY_ANALYZE_ERROR = "Failed to analyze summary log. {}"
  160. SUMMARY_VERIFICATION_ERROR = "Verification failed in summary analysis. {}"
  161. # Querier error codes.
  162. EVENT_NOT_EXIST_ERROR = "Train and evaluation event not exist in summary log."
  163. QUERIER_PARAM_ERROR = "Querier param <{}> invalid. {}"
  164. SUMMARY_PARSE_FAIL_ERROR = "All summary logs parsing failed."
  165. EVENT_FIELD_NOT_EXIST_ERROR = 'Event field <{}> not exist.'
  166. LOG_LINEAGE_INFO_ERROR = "Fail to write lineage information into log file. {}"

MindInsight为MindSpore提供了简单易用的调优调试能力。在训练过程中,可以将标量、张量、图像、计算图、模型超参、训练耗时等数据记录到文件中,通过MindInsight可视化页面进行查看及分析。