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.

enums.py 2.0 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Copyright 2020-2021 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. """Enums for explain data."""
  16. import enum
  17. class BaseEnum(enum.Enum):
  18. @classmethod
  19. def list_members(cls):
  20. """List all members."""
  21. return [member.value for member in cls]
  22. class DataManagerStatus(BaseEnum):
  23. """Data manager status."""
  24. INIT = 'INIT'
  25. LOADING = 'LOADING'
  26. DONE = 'DONE'
  27. INVALID = 'INVALID'
  28. class ExplainFieldsEnum(BaseEnum):
  29. """Plugin Name Enum."""
  30. EXPLAIN = 'explain'
  31. SAMPLE_ID = 'sample_id'
  32. BENCHMARK = 'benchmark'
  33. METADATA = 'metadata'
  34. GROUND_TRUTH_LABEL = 'ground_truth_label'
  35. INFERENCE = 'inference'
  36. EXPLANATION = 'explanation'
  37. HIERARCHICAL_OCCLUSION = 'hierarchical_occlusion'
  38. STATUS = 'status'
  39. @enum.unique
  40. class CacheStatus(enum.Enum):
  41. """Train job cache status."""
  42. NOT_IN_CACHE = "NOT_IN_CACHE"
  43. CACHING = "CACHING"
  44. CACHED = "CACHED"
  45. class ExplanationKeys(enum.Enum):
  46. """Query type enums."""
  47. HOC = "hoc_layers" # HOC: Hierarchical Occlusion, an explanation method we propose
  48. SALIENCY = "saliency_maps"
  49. class ImageQueryTypes(enum.Enum):
  50. """Image query type enums."""
  51. ORIGINAL = 'original' # Query for the original image
  52. OUTCOME = 'outcome' # Query for outcome of HOC explanation
  53. OVERLAY = 'overlay' # Query for saliency maps overlay