code-loader 1.0.152.dev2__tar.gz → 1.0.153.dev0__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.152.dev2 → code_loader-1.0.153.dev0}/PKG-INFO +1 -1
  2. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/datasetclasses.py +4 -2
  3. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/inner_leap_binder/leapbinder_decorators.py +24 -2
  4. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/pyproject.toml +1 -1
  5. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/LICENSE +0 -0
  6. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/README.md +0 -0
  7. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/__init__.py +0 -0
  8. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/__init__.py +0 -0
  9. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/enums.py +0 -0
  10. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/exceptions.py +0 -0
  11. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/mapping.py +0 -0
  12. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/responsedataclasses.py +0 -0
  13. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/contract/visualizer_classes.py +0 -0
  14. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/default_losses.py +0 -0
  15. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/default_metrics.py +0 -0
  16. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/__init__.py +0 -0
  17. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/api.py +0 -0
  18. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/cli_config_utils.py +0 -0
  19. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/client.py +0 -0
  20. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/epoch.py +0 -0
  21. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/experiment.py +0 -0
  22. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/experiment_context.py +0 -0
  23. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/types.py +0 -0
  24. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/utils.py +0 -0
  25. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  26. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/inner_leap_binder/__init__.py +0 -0
  27. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  28. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/leaploader.py +0 -0
  29. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/leaploaderbase.py +0 -0
  30. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/mixpanel_tracker.py +0 -0
  31. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/plot_functions/__init__.py +0 -0
  32. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/plot_functions/plot_functions.py +0 -0
  33. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/plot_functions/visualize.py +0 -0
  34. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/utils.py +0 -0
  35. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/code_loader/visualizers/__init__.py +0 -0
  36. {code_loader-1.0.152.dev2 → code_loader-1.0.153.dev0}/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.152.dev2
3
+ Version: 1.0.153.dev0
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  import warnings
2
2
  from dataclasses import dataclass, field
3
- from typing import Any, Callable, List, Optional, Dict, Union, Type
3
+ from typing import Any, Callable, List, Optional, Dict, Union, Type, Literal
4
4
  import re
5
5
  import numpy as np
6
6
  import numpy.typing as npt
@@ -82,6 +82,8 @@ class PreprocessResponse:
82
82
  class ElementInstance:
83
83
  name: str
84
84
  mask: npt.NDArray[np.float32]
85
+ instance_metadata: Dict[str, Union[Optional[str], int, bool, Optional[float]]]
86
+
85
87
 
86
88
  SectionCallableInterface = Callable[[Union[int, str], PreprocessResponse], npt.NDArray[np.float32]]
87
89
  InstanceCallableInterface = Callable[[Union[int, str], PreprocessResponse, int], Optional[ElementInstance]]
@@ -234,7 +236,7 @@ class CustomLatentSpaceHandler:
234
236
  class PredictionTypeHandler:
235
237
  name: str
236
238
  labels: List[str]
237
- channel_dim: int = "default_value"
239
+ channel_dim: Union[int, Literal["tl_default_value"]]= "tl_default_value"
238
240
 
239
241
 
240
242
 
@@ -305,7 +305,7 @@ def tensorleap_load_model(prediction_types: Optional[List[PredictionTypeHandler]
305
305
  for i, prediction_type in enumerate(prediction_types):
306
306
  assert isinstance(prediction_type, PredictionTypeHandler), (f"tensorleap_load_model validation failed: "
307
307
  f" prediction_types at position {i} must be of type PredictionTypeHandler but got {type(prediction_types[i]).__name__}.")
308
- prediction_type_channel_dim_was_provided = prediction_type.channel_dim != "default_value"
308
+ prediction_type_channel_dim_was_provided = prediction_type.channel_dim != "tl_default_value"
309
309
  if not prediction_type_channel_dim_was_provided:
310
310
  prediction_types[i].channel_dim = -1
311
311
  if not _call_from_tl_platform:
@@ -1063,7 +1063,7 @@ def tensorleap_preprocess():
1063
1063
 
1064
1064
 
1065
1065
  def tensorleap_element_instance_preprocess(
1066
- instance_length_encoder: InstanceLengthCallableInterface):
1066
+ instance_length_encoder: InstanceLengthCallableInterface, instance_mask_encoder: InstanceCallableInterface):
1067
1067
  def decorating_function(user_function: Callable[[], List[PreprocessResponse]]):
1068
1068
  def user_function_instance() -> List[PreprocessResponse]:
1069
1069
  result = user_function()
@@ -1085,11 +1085,33 @@ def tensorleap_element_instance_preprocess(
1085
1085
  preprocess_response.sample_ids = all_sample_ids
1086
1086
  return result
1087
1087
 
1088
+ def extract_extra_instance_metadata():
1089
+ result = user_function()
1090
+ for preprocess_response in result:
1091
+ for sample_id in preprocess_response.sample_ids:
1092
+ instances_length = instance_length_encoder(sample_id, preprocess_response)
1093
+ if instances_length > 0:
1094
+ element_instance = instance_mask_encoder(sample_id, preprocess_response, 0)
1095
+ instance_metadata = element_instance.instance_metadata
1096
+ if instance_metadata is None:
1097
+ return {}
1098
+ return instance_metadata
1099
+ return {}
1100
+
1101
+
1088
1102
  def builtin_instance_metadata(idx: str, preprocess: PreprocessResponse) -> Dict[str, str]:
1089
1103
  return {'is_instance': '0', 'original_sample_id': idx, 'instance_name': 'none'}
1090
1104
 
1105
+ def builtin_instance_extra_metadata(idx: str, preprocess: PreprocessResponse) -> Dict[str, str]:
1106
+ instance_metadata = extract_extra_instance_metadata()
1107
+ for key, value in instance_metadata.items():
1108
+ instance_metadata[key] = 'unset'
1109
+ return instance_metadata
1110
+
1091
1111
  leap_binder.set_preprocess(user_function_instance)
1092
1112
  leap_binder.set_metadata(builtin_instance_metadata, "builtin_instance_metadata")
1113
+ leap_binder.set_metadata(builtin_instance_extra_metadata, "builtin_instance_extra_metadata")
1114
+
1093
1115
 
1094
1116
  def _validate_input_args(*args, **kwargs):
1095
1117
  assert len(args) == 0 and len(kwargs) == 0, \
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.152.dev2"
3
+ version = "1.0.153.dev0"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"