code-loader 1.0.151.dev1__tar.gz → 1.0.151.dev3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/PKG-INFO +1 -1
  2. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/leaploader.py +17 -3
  3. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/leaploaderbase.py +19 -1
  4. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/pyproject.toml +1 -1
  5. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/LICENSE +0 -0
  6. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/README.md +0 -0
  7. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/__init__.py +0 -0
  8. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/__init__.py +0 -0
  9. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/datasetclasses.py +0 -0
  10. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/enums.py +0 -0
  11. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/exceptions.py +0 -0
  12. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/mapping.py +0 -0
  13. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/responsedataclasses.py +0 -0
  14. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/contract/visualizer_classes.py +0 -0
  15. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/default_losses.py +0 -0
  16. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/default_metrics.py +0 -0
  17. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/__init__.py +0 -0
  18. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/api.py +0 -0
  19. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/cli_config_utils.py +0 -0
  20. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/client.py +0 -0
  21. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/epoch.py +0 -0
  22. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/experiment.py +0 -0
  23. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/experiment_context.py +0 -0
  24. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/types.py +0 -0
  25. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/utils.py +0 -0
  26. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  27. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/inner_leap_binder/__init__.py +0 -0
  28. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  29. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
  30. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/mixpanel_tracker.py +0 -0
  31. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/plot_functions/__init__.py +0 -0
  32. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/plot_functions/plot_functions.py +0 -0
  33. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/plot_functions/visualize.py +0 -0
  34. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/utils.py +0 -0
  35. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/visualizers/__init__.py +0 -0
  36. {code_loader-1.0.151.dev1 → code_loader-1.0.151.dev3}/code_loader/visualizers/default_visualizers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: code-loader
3
- Version: 1.0.151.dev1
3
+ Version: 1.0.151.dev3
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -521,24 +521,38 @@ class LeapLoader(LeapLoaderBase):
521
521
 
522
522
  return converted_value, is_none
523
523
 
524
- def get_metadata(self, state: DataStateEnum, sample_id: Union[int, str], only_handler_names: Optional[List[str]] = None) -> Tuple[
524
+ def get_metadata(self, state: DataStateEnum, sample_id: Union[int, str], only_metadata_names: Optional[List[str]] = None) -> Tuple[
525
525
  Dict[str, Union[str, int, bool, float]], Dict[str, bool]]:
526
+
527
+ def is_metadata_name_starts_with_handler_name(_handler):
528
+ for metadata_name in only_metadata_names:
529
+ if metadata_name.startswith(_handler.name + '_') or metadata_name == _handler.name:
530
+ return True
531
+ return False
532
+
526
533
  result_agg = {}
527
534
  is_none = {}
528
535
  preprocess_result = self._preprocess_result()
529
536
  preprocess_state = preprocess_result[state]
530
537
  for handler in global_leap_binder.setup_container.metadata:
531
- if only_handler_names:
532
- if handler.name not in only_handler_names:
538
+ if only_metadata_names:
539
+ if not is_metadata_name_starts_with_handler_name(handler):
533
540
  continue
541
+
534
542
  handler_result = handler.function(sample_id, preprocess_state)
535
543
  if isinstance(handler_result, dict):
536
544
  for single_metadata_name, single_metadata_result in handler_result.items():
537
545
  handler_name = f'{handler.name}_{single_metadata_name}'
546
+ if only_metadata_names:
547
+ if handler_name not in only_metadata_names:
548
+ continue
538
549
  result_agg[handler_name], is_none[handler_name] = self._convert_metadata_to_correct_type(
539
550
  handler_name, single_metadata_result)
540
551
  else:
541
552
  handler_name = handler.name
553
+ if only_metadata_names:
554
+ if handler_name not in only_metadata_names:
555
+ continue
542
556
  result_agg[handler_name], is_none[handler_name] = self._convert_metadata_to_correct_type(
543
557
  handler_name, handler_result)
544
558
 
@@ -68,6 +68,24 @@ class LeapLoaderBase:
68
68
  def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str]]:
69
69
  pass
70
70
 
71
+ def get_metadata_multiple_samples(self, state: DataStateEnum, sample_ids: Union[List[int], List[str]],
72
+ only_metadata_names: Optional[List[str]] = None
73
+ ) -> Tuple[Dict[str, Union[List[str], List[int], List[bool],
74
+ List[float]]], Dict[str, List[bool]]]:
75
+ aggregated_results: Dict[str, List[Union[str, int, bool, float]]] = {}
76
+ aggregated_is_none: Dict[str, List[bool]] = {}
77
+ sample_id_type = self.get_sample_id_type()
78
+ for sample_id in sample_ids:
79
+ sample_id = sample_id_type(sample_id)
80
+ metadata_result, is_none_result = self.get_metadata(state, sample_id, only_metadata_names)
81
+ for metadata_name, metadata_value in metadata_result.items():
82
+ if metadata_name not in aggregated_results:
83
+ aggregated_results[metadata_name] = []
84
+ aggregated_is_none[metadata_name] = []
85
+ aggregated_results[metadata_name].append(metadata_value)
86
+ aggregated_is_none[metadata_name].append(is_none_result[metadata_name])
87
+ return aggregated_results, aggregated_is_none
88
+
71
89
  @abstractmethod
72
90
  def check_dataset(self) -> DatasetIntegParseResult:
73
91
  pass
@@ -90,7 +108,7 @@ class LeapLoaderBase:
90
108
  @abstractmethod
91
109
  def get_metadata(
92
110
  self, state: DataStateEnum, sample_id: Union[int, str],
93
- only_handler_names: Optional[List[str]] = None
111
+ only_metadata_names: Optional[List[str]] = None
94
112
  ) -> Tuple[Dict[str, Union[str, int, bool, float]], Dict[str, bool]]:
95
113
  pass
96
114
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.151.dev1"
3
+ version = "1.0.151.dev3"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"