code-loader 1.0.118.dev2__tar.gz → 1.0.118.dev4__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.
Potentially problematic release.
This version of code-loader might be problematic. Click here for more details.
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/PKG-INFO +1 -1
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/inner_leap_binder/leapbinder_decorators.py +41 -8
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/leaploader.py +15 -6
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/leaploaderbase.py +4 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/pyproject.toml +1 -1
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/LICENSE +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/README.md +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/__init__.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/datasetclasses.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/inner_leap_binder/leapbinder.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/mixpanel_tracker.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/utils.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -675,8 +675,6 @@ def tensorleap_input_encoder(name: str, channel_dim=-1, model_input_index=None):
|
|
|
675
675
|
if channel_dim <= 0 and channel_dim != -1:
|
|
676
676
|
raise Exception(f"Channel dim for input {name} is expected to be either -1 or positive")
|
|
677
677
|
|
|
678
|
-
leap_binder.set_input(user_function, name, channel_dim=channel_dim)
|
|
679
|
-
|
|
680
678
|
def _validate_input_args(sample_id: Union[int, str], preprocess_response: PreprocessResponse):
|
|
681
679
|
assert isinstance(sample_id, (int, str)), \
|
|
682
680
|
(f'tensorleap_input_encoder validation failed: '
|
|
@@ -699,15 +697,35 @@ def tensorleap_input_encoder(name: str, channel_dim=-1, model_input_index=None):
|
|
|
699
697
|
assert channel_dim - 1 <= len(result.shape), (f'tensorleap_input_encoder validation failed: '
|
|
700
698
|
f'The channel_dim ({channel_dim}) should be <= to the rank of the resulting input rank ({len(result.shape)}).')
|
|
701
699
|
|
|
700
|
+
def inner_without_validate(sample_id, preprocess_response):
|
|
701
|
+
|
|
702
|
+
global _called_from_inside_tl_decorator
|
|
703
|
+
_called_from_inside_tl_decorator += 1
|
|
704
|
+
|
|
705
|
+
try:
|
|
706
|
+
result = user_function(sample_id, preprocess_response)
|
|
707
|
+
finally:
|
|
708
|
+
_called_from_inside_tl_decorator -= 1
|
|
709
|
+
|
|
710
|
+
return result
|
|
711
|
+
|
|
712
|
+
leap_binder.set_input(inner_without_validate, name, channel_dim=channel_dim)
|
|
713
|
+
|
|
714
|
+
|
|
702
715
|
def inner(sample_id, preprocess_response):
|
|
703
716
|
_validate_input_args(sample_id, preprocess_response)
|
|
704
|
-
|
|
717
|
+
|
|
718
|
+
result = inner_without_validate(sample_id, preprocess_response)
|
|
719
|
+
|
|
705
720
|
_validate_result(result)
|
|
706
721
|
|
|
707
|
-
if _called_from_inside_tl_decorator ==
|
|
722
|
+
if _called_from_inside_tl_decorator == 1:
|
|
708
723
|
result = np.expand_dims(result, axis=0)
|
|
724
|
+
|
|
709
725
|
return result
|
|
710
726
|
|
|
727
|
+
|
|
728
|
+
|
|
711
729
|
node_mapping_type = NodeMappingType.Input
|
|
712
730
|
if model_input_index is not None:
|
|
713
731
|
node_mapping_type = NodeMappingType(f'Input{str(model_input_index)}')
|
|
@@ -744,8 +762,6 @@ def tensorleap_gt_encoder(name: str):
|
|
|
744
762
|
raise Exception(f'GT with name {name} already exists. '
|
|
745
763
|
f'Please choose another')
|
|
746
764
|
|
|
747
|
-
leap_binder.set_ground_truth(user_function, name)
|
|
748
|
-
|
|
749
765
|
def _validate_input_args(sample_id: Union[int, str], preprocess_response: PreprocessResponse):
|
|
750
766
|
assert isinstance(sample_id, (int, str)), \
|
|
751
767
|
(f'tensorleap_gt_encoder validation failed: '
|
|
@@ -766,13 +782,30 @@ def tensorleap_gt_encoder(name: str):
|
|
|
766
782
|
(f'tensorleap_gt_encoder validation failed: '
|
|
767
783
|
f'The return type should be a numpy array of type float32. Got {result.dtype}.')
|
|
768
784
|
|
|
785
|
+
def inner_without_validate(sample_id, preprocess_response):
|
|
786
|
+
global _called_from_inside_tl_decorator
|
|
787
|
+
_called_from_inside_tl_decorator += 1
|
|
788
|
+
|
|
789
|
+
try:
|
|
790
|
+
result = user_function(sample_id, preprocess_response)
|
|
791
|
+
finally:
|
|
792
|
+
_called_from_inside_tl_decorator -= 1
|
|
793
|
+
|
|
794
|
+
return result
|
|
795
|
+
|
|
796
|
+
leap_binder.set_ground_truth(inner_without_validate, name)
|
|
797
|
+
|
|
798
|
+
|
|
769
799
|
def inner(sample_id, preprocess_response):
|
|
770
800
|
_validate_input_args(sample_id, preprocess_response)
|
|
771
|
-
|
|
801
|
+
|
|
802
|
+
result = inner_without_validate(sample_id, preprocess_response)
|
|
803
|
+
|
|
772
804
|
_validate_result(result)
|
|
773
805
|
|
|
774
|
-
if _called_from_inside_tl_decorator ==
|
|
806
|
+
if _called_from_inside_tl_decorator == 1:
|
|
775
807
|
result = np.expand_dims(result, axis=0)
|
|
808
|
+
|
|
776
809
|
return result
|
|
777
810
|
|
|
778
811
|
inner.node_mapping = NodeMapping(name, NodeMappingType.GroundTruth)
|
|
@@ -34,7 +34,7 @@ class LeapLoader(LeapLoaderBase):
|
|
|
34
34
|
super().__init__(code_path, code_entry_name)
|
|
35
35
|
|
|
36
36
|
self._preprocess_result_cached = None
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
try:
|
|
39
39
|
from code_loader.mixpanel_tracker import track_code_loader_loaded
|
|
40
40
|
track_code_loader_loaded({
|
|
@@ -77,6 +77,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
77
77
|
file_path = Path(self.code_path, self.code_entry_name)
|
|
78
78
|
append_path_recursively(str(file_path))
|
|
79
79
|
|
|
80
|
+
importlib.invalidate_caches()
|
|
81
|
+
|
|
80
82
|
spec = importlib.util.spec_from_file_location(self.code_path, file_path)
|
|
81
83
|
if spec is None or spec.loader is None:
|
|
82
84
|
raise DatasetScriptException(f'Something is went wrong with spec file from: {file_path}')
|
|
@@ -165,7 +167,9 @@ class LeapLoader(LeapLoaderBase):
|
|
|
165
167
|
|
|
166
168
|
custom_latent_space = None
|
|
167
169
|
if global_leap_binder.setup_container.custom_latent_space is not None:
|
|
168
|
-
custom_latent_space = global_leap_binder.setup_container.custom_latent_space.function(sample_id,
|
|
170
|
+
custom_latent_space = global_leap_binder.setup_container.custom_latent_space.function(sample_id,
|
|
171
|
+
preprocess_result[
|
|
172
|
+
state])
|
|
169
173
|
|
|
170
174
|
sample = DatasetSample(inputs=self._get_inputs(state, sample_id),
|
|
171
175
|
gt=None if state == DataStateEnum.unlabeled else self._get_gt(state, sample_id),
|
|
@@ -216,8 +220,6 @@ class LeapLoader(LeapLoaderBase):
|
|
|
216
220
|
general_error = f"Something went wrong. {repr(e.__cause__)} in file {file_name}, line_number: {line_number}\nStacktrace:\n{stacktrace}"
|
|
217
221
|
is_valid = False
|
|
218
222
|
|
|
219
|
-
|
|
220
|
-
|
|
221
223
|
print_log = stdout_steam.getvalue()
|
|
222
224
|
is_valid_for_model = bool(global_leap_binder.setup_container.custom_layers)
|
|
223
225
|
model_setup = self.get_model_setup_response()
|
|
@@ -482,7 +484,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
482
484
|
def _get_inputs(self, state: DataStateEnum, sample_id: Union[int, str]) -> Dict[str, npt.NDArray[np.float32]]:
|
|
483
485
|
return self._get_dataset_handlers(global_leap_binder.setup_container.inputs, state, sample_id)
|
|
484
486
|
|
|
485
|
-
def _get_instances_masks(self, state: DataStateEnum, sample_id: Union[int, str]) -> Dict[
|
|
487
|
+
def _get_instances_masks(self, state: DataStateEnum, sample_id: Union[int, str]) -> Dict[
|
|
488
|
+
str, List[ElementInstance]]:
|
|
486
489
|
preprocess_result = self._preprocess_result()
|
|
487
490
|
preprocess_state = preprocess_result[state]
|
|
488
491
|
result_agg = {}
|
|
@@ -532,7 +535,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
532
535
|
|
|
533
536
|
return converted_value, is_none
|
|
534
537
|
|
|
535
|
-
def _get_metadata(self, state: DataStateEnum, sample_id: Union[int, str]) -> Tuple[
|
|
538
|
+
def _get_metadata(self, state: DataStateEnum, sample_id: Union[int, str]) -> Tuple[
|
|
539
|
+
Dict[str, Union[str, int, bool, float]], Dict[str, bool]]:
|
|
536
540
|
result_agg = {}
|
|
537
541
|
is_none = {}
|
|
538
542
|
preprocess_result = self._preprocess_result()
|
|
@@ -561,6 +565,11 @@ class LeapLoader(LeapLoaderBase):
|
|
|
561
565
|
|
|
562
566
|
return id_type
|
|
563
567
|
|
|
568
|
+
@lru_cache()
|
|
569
|
+
def has_custom_latent_space_decorator(self) -> bool:
|
|
570
|
+
self.exec_script()
|
|
571
|
+
return global_leap_binder.setup_container.custom_latent_space is not None
|
|
572
|
+
|
|
564
573
|
def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str], Dict[str, str]]:
|
|
565
574
|
"""
|
|
566
575
|
This Method get the data state and returns two dictionaries that holds the mapping of the sample ids to their
|
|
@@ -114,6 +114,10 @@ class LeapLoaderBase:
|
|
|
114
114
|
def get_sample_id_type(self) -> Type:
|
|
115
115
|
pass
|
|
116
116
|
|
|
117
|
+
@abstractmethod
|
|
118
|
+
def has_custom_latent_space_decorator(self) -> bool:
|
|
119
|
+
pass
|
|
120
|
+
|
|
117
121
|
@abstractmethod
|
|
118
122
|
def get_heatmap_visualizer_raw_vis_input_arg_name(self, visualizer_name: str) -> Optional[str]:
|
|
119
123
|
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/datasetclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/responsedataclasses.py
RENAMED
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/contract/visualizer_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/cli_config_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/experiment_api/experiment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/inner_leap_binder/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/plot_functions/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/plot_functions/visualize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.118.dev2 → code_loader-1.0.118.dev4}/code_loader/visualizers/default_visualizers.py
RENAMED
|
File without changes
|