code-loader 1.0.87a0__tar.gz → 1.0.87a2__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 (31) hide show
  1. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/PKG-INFO +1 -1
  2. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/inner_leap_binder/leapbinder.py +29 -24
  3. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/leaploader.py +4 -0
  4. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/pyproject.toml +1 -1
  5. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/LICENSE +0 -0
  6. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/README.md +0 -0
  7. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/__init__.py +0 -0
  8. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/contract/__init__.py +0 -0
  9. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/contract/datasetclasses.py +0 -0
  10. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/contract/enums.py +0 -0
  11. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/contract/exceptions.py +0 -0
  12. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/contract/responsedataclasses.py +0 -0
  13. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/contract/visualizer_classes.py +0 -0
  14. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/default_losses.py +0 -0
  15. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/default_metrics.py +0 -0
  16. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/__init__.py +0 -0
  17. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/api.py +0 -0
  18. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/cli_config_utils.py +0 -0
  19. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/client.py +0 -0
  20. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/epoch.py +0 -0
  21. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/experiment.py +0 -0
  22. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/experiment_context.py +0 -0
  23. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/types.py +0 -0
  24. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/utils.py +0 -0
  25. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  26. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/inner_leap_binder/__init__.py +0 -0
  27. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
  28. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/leaploaderbase.py +0 -0
  29. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/utils.py +0 -0
  30. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/code_loader/visualizers/__init__.py +0 -0
  31. {code_loader-1.0.87a0 → code_loader-1.0.87a2}/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.87a0
3
+ Version: 1.0.87a2
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -16,7 +16,7 @@ from code_loader.contract.responsedataclasses import DatasetTestResultPayload
16
16
  from code_loader.contract.visualizer_classes import map_leap_data_type_to_visualizer_class
17
17
  from code_loader.default_losses import loss_name_to_function
18
18
  from code_loader.default_metrics import metrics_names_to_functions_and_direction
19
- from code_loader.utils import to_numpy_return_wrapper, get_shape
19
+ from code_loader.utils import to_numpy_return_wrapper, get_shape, flatten
20
20
  from code_loader.visualizers.default_visualizers import DefaultVisualizer, \
21
21
  default_graph_visualizer, \
22
22
  default_image_visualizer, default_horizontal_bar_visualizer, default_word_visualizer, \
@@ -353,7 +353,8 @@ class LeapBinder:
353
353
  self._encoder_names.append(name)
354
354
 
355
355
  def set_metadata(self, function: MetadataSectionCallableInterface, name: str,
356
- metadata_type: Optional[Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None) -> None:
356
+ metadata_type: Optional[
357
+ Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None) -> None:
357
358
  """
358
359
  Set the metadata handler function. This function is used for measuring and analyzing external variable values per sample, which is recommended for analysis within the Tensorleap platform.
359
360
 
@@ -490,39 +491,41 @@ class LeapBinder:
490
491
  @staticmethod
491
492
  def check_handler(
492
493
  preprocess_response: PreprocessResponse, test_result: List[DatasetTestResultPayload],
493
- dataset_base_handler: Union[DatasetBaseHandler, MetadataHandler], state: DataStateEnum) -> List[DatasetTestResultPayload]:
494
+ dataset_base_handler: Union[DatasetBaseHandler, MetadataHandler], state: DataStateEnum) -> List[
495
+ DatasetTestResultPayload]:
494
496
  assert preprocess_response.sample_ids is not None
495
497
  raw_result = dataset_base_handler.function(preprocess_response.sample_ids[0], preprocess_response)
496
498
  handler_type = 'metadata' if isinstance(dataset_base_handler, MetadataHandler) else None
497
499
  if isinstance(dataset_base_handler, MetadataHandler):
498
500
  if isinstance(raw_result, dict):
499
- metadata_test_result_payloads = [
500
- DatasetTestResultPayload(f'{dataset_base_handler.name}_{single_metadata_name}')
501
- for single_metadata_name, single_metadata_result in raw_result.items()
502
- ]
503
- for i, (single_metadata_name, single_metadata_result) in enumerate(raw_result.items()):
504
- metadata_test_result = metadata_test_result_payloads[i]
501
+ metadata_test_result_payloads = []
502
+ for i, (flat_name, flat_result) in enumerate(flatten(raw_result, prefix=dataset_base_handler.name)):
503
+ result_payload = DatasetTestResultPayload(flat_name)
505
504
 
506
505
  metadata_type = None
507
- if single_metadata_result is None:
508
- if state != DataStateEnum.training and test_result[i].name == f'{dataset_base_handler.name}_{single_metadata_name}':
509
- metadata_test_result_payloads[i] = test_result[i]
506
+ if flat_result is None:
507
+ if state != DataStateEnum.training and test_result[i].name == flat_name:
508
+ result_payload = test_result[i]
509
+ metadata_test_result_payloads.append(result_payload)
510
510
  continue
511
511
 
512
512
  if dataset_base_handler.metadata_type is None:
513
- raise Exception(f"Metadata {single_metadata_name} is None and no metadata type is provided")
513
+ raise Exception(f"Metadata {flat_name} is None and no metadata type is provided")
514
514
  elif isinstance(dataset_base_handler.metadata_type, dict):
515
- if single_metadata_name not in dataset_base_handler.metadata_type:
516
- raise Exception(f"Metadata {single_metadata_name} is None and no metadata type is provided")
517
- metadata_type = dataset_base_handler.metadata_type[single_metadata_name]
515
+ if flat_name not in dataset_base_handler.metadata_type:
516
+ raise Exception(
517
+ f"Metadata {flat_name} is None and was not found in the provided metadata type")
518
+ metadata_type = dataset_base_handler.metadata_type[flat_name]
518
519
  else:
519
- raise Exception(f"Metadata {single_metadata_name} is None and no metadata type is provided")
520
+ raise Exception(f"Metadata {flat_name} is None and was not found in the provided metadata "
521
+ f"type, metadata_type: {dataset_base_handler.metadata_type}")
522
+
523
+ result_shape = get_shape(flat_result)
524
+ result_payload.shape = result_shape
525
+ result_payload.raw_result = flat_result if flat_result is not None else metadata_type
526
+ result_payload.handler_type = handler_type
527
+ metadata_test_result_payloads.append(result_payload)
520
528
 
521
- result_shape = get_shape(single_metadata_result)
522
- metadata_test_result.shape = result_shape
523
- metadata_test_result.raw_result = (
524
- single_metadata_result) if single_metadata_result is not None else metadata_type
525
- metadata_test_result.handler_type = handler_type
526
529
  test_result = metadata_test_result_payloads
527
530
  else:
528
531
  if raw_result is None:
@@ -530,9 +533,11 @@ class LeapBinder:
530
533
  return test_result
531
534
 
532
535
  if dataset_base_handler.metadata_type is None:
533
- raise Exception(f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
536
+ raise Exception(
537
+ f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
534
538
  elif isinstance(dataset_base_handler.metadata_type, dict):
535
- raise Exception(f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
539
+ raise Exception(
540
+ f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
536
541
  metadata_type = dataset_base_handler.metadata_type
537
542
 
538
543
  result_shape = get_shape(raw_result)
@@ -447,6 +447,10 @@ class LeapLoader(LeapLoaderBase):
447
447
 
448
448
  def _convert_metadata_to_correct_type(self, metadata_name: str, value: Any) -> Tuple[Any, bool]:
449
449
  metadata_name_to_type = self._metadata_name_to_type()
450
+ if metadata_name not in metadata_name_to_type:
451
+ raise Exception(f"metadata {metadata_name} not found in metadata type map, "
452
+ f"metadata_name_to_type:{metadata_name_to_type}")
453
+
450
454
  metadata_type_to_python_type = {
451
455
  DatasetMetadataType.float: float,
452
456
  DatasetMetadataType.string: str,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.87a0"
3
+ version = "1.0.87a2"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"
File without changes
File without changes