code-loader 1.0.121.dev0__tar.gz → 1.0.122__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.121.dev0 → code_loader-1.0.122}/PKG-INFO +1 -1
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/datasetclasses.py +4 -4
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/inner_leap_binder/leapbinder_decorators.py +60 -15
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/leaploader.py +10 -22
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/leaploaderbase.py +2 -6
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/mixpanel_tracker.py +0 -4
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/utils.py +6 -6
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/pyproject.toml +1 -1
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/LICENSE +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/README.md +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/__init__.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/inner_leap_binder/leapbinder.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -40,12 +40,10 @@ class PreprocessResponse:
|
|
|
40
40
|
sample_id_type: Optional[Union[Type[str], Type[int]]] = None
|
|
41
41
|
sample_ids_to_instance_mappings: Optional[Dict[str, List[str]]] = None # in use only for element instance
|
|
42
42
|
instance_to_sample_ids_mappings: Optional[Dict[str, str]] = None # in use only for element instance
|
|
43
|
-
instance_ids_to_names: Optional[Dict[str, str]] = None # in use only for element instance
|
|
44
43
|
|
|
45
44
|
def __post_init__(self) -> None:
|
|
46
45
|
assert self.sample_ids_to_instance_mappings is None, f"Keep sample_ids_to_instance_mappings None when initializing PreprocessResponse"
|
|
47
46
|
assert self.instance_to_sample_ids_mappings is None, f"Keep instance_to_sample_ids_mappings None when initializing PreprocessResponse"
|
|
48
|
-
assert self.instance_ids_to_names is None, f"Keep instance_ids_to_names None when initializing PreprocessResponse"
|
|
49
47
|
|
|
50
48
|
if self.length is not None and self.sample_ids is None:
|
|
51
49
|
self.sample_ids = [i for i in range(self.length)]
|
|
@@ -73,7 +71,9 @@ class ElementInstance:
|
|
|
73
71
|
mask: npt.NDArray[np.float32]
|
|
74
72
|
|
|
75
73
|
SectionCallableInterface = Callable[[Union[int, str], PreprocessResponse], npt.NDArray[np.float32]]
|
|
76
|
-
InstanceCallableInterface = Callable[[Union[int, str], PreprocessResponse],
|
|
74
|
+
InstanceCallableInterface = Callable[[Union[int, str], PreprocessResponse, int], Optional[ElementInstance]]
|
|
75
|
+
InstanceLengthCallableInterface = Callable[[Union[int, str], PreprocessResponse], int]
|
|
76
|
+
|
|
77
77
|
|
|
78
78
|
MetadataSectionCallableInterface = Union[
|
|
79
79
|
Callable[[Union[int, str], PreprocessResponse], int],
|
|
@@ -257,6 +257,6 @@ class DatasetSample:
|
|
|
257
257
|
metadata_is_none: Dict[str, bool]
|
|
258
258
|
index: Union[int, str]
|
|
259
259
|
state: DataStateEnum
|
|
260
|
-
instance_masks: Optional[Dict[str, List[ElementInstance]]] = None
|
|
261
260
|
custom_latent_space: Optional[npt.NDArray[np.float32]] = None
|
|
261
|
+
instance_masks: Optional[Dict[str, ElementInstance]] = None
|
|
262
262
|
|
|
@@ -8,7 +8,8 @@ import numpy.typing as npt
|
|
|
8
8
|
from code_loader.contract.datasetclasses import CustomCallableInterfaceMultiArgs, \
|
|
9
9
|
CustomMultipleReturnCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs, CustomCallableInterface, \
|
|
10
10
|
VisualizerCallableInterface, MetadataSectionCallableInterface, PreprocessResponse, SectionCallableInterface, \
|
|
11
|
-
ConfusionMatrixElement, SamplePreprocessResponse, PredictionTypeHandler, InstanceCallableInterface, ElementInstance
|
|
11
|
+
ConfusionMatrixElement, SamplePreprocessResponse, PredictionTypeHandler, InstanceCallableInterface, ElementInstance, \
|
|
12
|
+
InstanceLengthCallableInterface
|
|
12
13
|
from code_loader.contract.enums import MetricDirection, LeapDataType, DatasetMetadataType
|
|
13
14
|
from code_loader import leap_binder
|
|
14
15
|
from code_loader.contract.mapping import NodeMapping, NodeMappingType, NodeConnection
|
|
@@ -529,29 +530,24 @@ def tensorleap_preprocess():
|
|
|
529
530
|
|
|
530
531
|
|
|
531
532
|
def tensorleap_element_instance_preprocess(
|
|
532
|
-
|
|
533
|
+
instance_length_encoder: InstanceLengthCallableInterface):
|
|
533
534
|
def decorating_function(user_function: Callable[[], List[PreprocessResponse]]):
|
|
534
535
|
def user_function_instance() -> List[PreprocessResponse]:
|
|
535
536
|
result = user_function()
|
|
536
537
|
for preprocess_response in result:
|
|
537
538
|
sample_ids_to_instance_mappings = {}
|
|
538
539
|
instance_to_sample_ids_mappings = {}
|
|
539
|
-
instance_ids_to_names = {}
|
|
540
540
|
all_sample_ids = preprocess_response.sample_ids.copy()
|
|
541
541
|
for sample_id in preprocess_response.sample_ids:
|
|
542
|
-
|
|
543
|
-
instances_ids = [f'{sample_id}_{instance_id}' for instance_id in range(
|
|
542
|
+
instances_length = instance_length_encoder(sample_id, preprocess_response)
|
|
543
|
+
instances_ids = [f'{sample_id}_{instance_id}' for instance_id in range(instances_length)]
|
|
544
544
|
sample_ids_to_instance_mappings[sample_id] = instances_ids
|
|
545
545
|
instance_to_sample_ids_mappings[sample_id] = sample_id
|
|
546
|
-
|
|
547
|
-
instance_ids_to_names[sample_id] = 'none'
|
|
548
|
-
for instance_id, instance_name in zip(instances_ids, instance_names):
|
|
546
|
+
for instance_id in instances_ids:
|
|
549
547
|
instance_to_sample_ids_mappings[instance_id] = sample_id
|
|
550
|
-
instance_ids_to_names[instance_id] = instance_name
|
|
551
548
|
all_sample_ids.extend(instances_ids)
|
|
552
549
|
preprocess_response.sample_ids_to_instance_mappings = sample_ids_to_instance_mappings
|
|
553
550
|
preprocess_response.instance_to_sample_ids_mappings = instance_to_sample_ids_mappings
|
|
554
|
-
preprocess_response.instance_ids_to_names = instance_ids_to_names
|
|
555
551
|
preprocess_response.sample_ids = all_sample_ids
|
|
556
552
|
return result
|
|
557
553
|
|
|
@@ -620,7 +616,7 @@ def tensorleap_unlabeled_preprocess():
|
|
|
620
616
|
|
|
621
617
|
def tensorleap_instances_masks_encoder(name: str):
|
|
622
618
|
def decorating_function(user_function: InstanceCallableInterface):
|
|
623
|
-
def _validate_input_args(sample_id: str, preprocess_response: PreprocessResponse):
|
|
619
|
+
def _validate_input_args(sample_id: str, preprocess_response: PreprocessResponse, instance_id: int):
|
|
624
620
|
assert isinstance(sample_id, str), \
|
|
625
621
|
(f'tensorleap_instances_masks_encoder validation failed: '
|
|
626
622
|
f'Argument sample_id should be str. Got {type(sample_id)}.')
|
|
@@ -631,11 +627,61 @@ def tensorleap_instances_masks_encoder(name: str):
|
|
|
631
627
|
(f'tensorleap_instances_masks_encoder validation failed: '
|
|
632
628
|
f'Argument sample_id should be as the same type as defined in the preprocess response '
|
|
633
629
|
f'{preprocess_response.sample_id_type}. Got {type(sample_id)}.')
|
|
630
|
+
assert isinstance(instance_id, int), \
|
|
631
|
+
(f'tensorleap_instances_masks_encoder validation failed: '
|
|
632
|
+
f'Argument instance_id should be int. Got {type(instance_id)}.')
|
|
634
633
|
|
|
635
634
|
def _validate_result(result):
|
|
636
|
-
assert isinstance(result,
|
|
635
|
+
assert isinstance(result, ElementInstance) or (result is None), \
|
|
637
636
|
(f'tensorleap_instances_masks_encoder validation failed: '
|
|
638
|
-
f'Unsupported return type. Should be a
|
|
637
|
+
f'Unsupported return type. Should be a ElementInstance or None. Got {type(result)}.')
|
|
638
|
+
|
|
639
|
+
def inner_without_validate(sample_id, preprocess_response, instance_id):
|
|
640
|
+
global _called_from_inside_tl_decorator
|
|
641
|
+
_called_from_inside_tl_decorator += 1
|
|
642
|
+
|
|
643
|
+
try:
|
|
644
|
+
result = user_function(sample_id, preprocess_response, instance_id)
|
|
645
|
+
finally:
|
|
646
|
+
_called_from_inside_tl_decorator -= 1
|
|
647
|
+
|
|
648
|
+
return result
|
|
649
|
+
|
|
650
|
+
leap_binder.set_instance_masks(inner_without_validate, name)
|
|
651
|
+
|
|
652
|
+
def inner(sample_id, preprocess_response, instance_id):
|
|
653
|
+
if os.environ.get(mapping_runtime_mode_env_var_mame):
|
|
654
|
+
return None
|
|
655
|
+
|
|
656
|
+
_validate_input_args(sample_id, preprocess_response, instance_id)
|
|
657
|
+
|
|
658
|
+
result = inner_without_validate(sample_id, preprocess_response, instance_id)
|
|
659
|
+
|
|
660
|
+
_validate_result(result)
|
|
661
|
+
return result
|
|
662
|
+
|
|
663
|
+
return inner
|
|
664
|
+
|
|
665
|
+
return decorating_function
|
|
666
|
+
|
|
667
|
+
def tensorleap_instances_length_encoder(name: str):
|
|
668
|
+
def decorating_function(user_function: InstanceLengthCallableInterface):
|
|
669
|
+
def _validate_input_args(sample_id: str, preprocess_response: PreprocessResponse):
|
|
670
|
+
assert isinstance(sample_id, str), \
|
|
671
|
+
(f'tensorleap_instances_length_encoder validation failed: '
|
|
672
|
+
f'Argument sample_id should be str. Got {type(sample_id)}.')
|
|
673
|
+
assert isinstance(preprocess_response, PreprocessResponse), \
|
|
674
|
+
(f'tensorleap_instances_length_encoder validation failed: '
|
|
675
|
+
f'Argument preprocess_response should be a PreprocessResponse. Got {type(preprocess_response)}.')
|
|
676
|
+
assert type(sample_id) == preprocess_response.sample_id_type, \
|
|
677
|
+
(f'tensorleap_instances_length_encoder validation failed: '
|
|
678
|
+
f'Argument sample_id should be as the same type as defined in the preprocess response '
|
|
679
|
+
f'{preprocess_response.sample_id_type}. Got {type(sample_id)}.')
|
|
680
|
+
|
|
681
|
+
def _validate_result(result):
|
|
682
|
+
assert isinstance(result, int), \
|
|
683
|
+
(f'tensorleap_instances_length_encoder validation failed: '
|
|
684
|
+
f'Unsupported return type. Should be a int. Got {type(result)}.')
|
|
639
685
|
|
|
640
686
|
def inner_without_validate(sample_id, preprocess_response):
|
|
641
687
|
global _called_from_inside_tl_decorator
|
|
@@ -648,7 +694,7 @@ def tensorleap_instances_masks_encoder(name: str):
|
|
|
648
694
|
|
|
649
695
|
return result
|
|
650
696
|
|
|
651
|
-
leap_binder.set_instance_masks(inner_without_validate, name)
|
|
697
|
+
# leap_binder.set_instance_masks(inner_without_validate, name). # TODO: do i need this?
|
|
652
698
|
|
|
653
699
|
def inner(sample_id, preprocess_response):
|
|
654
700
|
if os.environ.get(mapping_runtime_mode_env_var_mame):
|
|
@@ -665,7 +711,6 @@ def tensorleap_instances_masks_encoder(name: str):
|
|
|
665
711
|
|
|
666
712
|
return decorating_function
|
|
667
713
|
|
|
668
|
-
|
|
669
714
|
def tensorleap_input_encoder(name: str, channel_dim=-1, model_input_index=None):
|
|
670
715
|
def decorating_function(user_function: SectionCallableInterface):
|
|
671
716
|
for input_handler in leap_binder.setup_container.inputs:
|
|
@@ -157,7 +157,7 @@ class LeapLoader(LeapLoaderBase):
|
|
|
157
157
|
for prediction_type in setup.prediction_types
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
def get_sample(self, state: DataStateEnum, sample_id: Union[int, str]) -> DatasetSample:
|
|
160
|
+
def get_sample(self, state: DataStateEnum, sample_id: Union[int, str], instance_id: int = None) -> DatasetSample:
|
|
161
161
|
self.exec_script()
|
|
162
162
|
preprocess_result = self._preprocess_result()
|
|
163
163
|
if state == DataStateEnum.unlabeled and sample_id not in preprocess_result[state].sample_ids:
|
|
@@ -171,30 +171,17 @@ class LeapLoader(LeapLoaderBase):
|
|
|
171
171
|
preprocess_result[
|
|
172
172
|
state])
|
|
173
173
|
|
|
174
|
+
instance_mask = self._get_instances_masks(state, sample_id, instance_id)
|
|
174
175
|
sample = DatasetSample(inputs=self._get_inputs(state, sample_id),
|
|
175
176
|
gt=None if state == DataStateEnum.unlabeled else self._get_gt(state, sample_id),
|
|
176
177
|
metadata=metadata,
|
|
177
178
|
metadata_is_none=metadata_is_none,
|
|
178
179
|
index=sample_id,
|
|
179
180
|
state=state,
|
|
180
|
-
custom_latent_space=custom_latent_space
|
|
181
|
+
custom_latent_space=custom_latent_space,
|
|
182
|
+
instance_masks = instance_mask)
|
|
181
183
|
return sample
|
|
182
184
|
|
|
183
|
-
def get_sample_with_masks(self, state: DataStateEnum, sample_id: Union[int, str]) -> DatasetSample:
|
|
184
|
-
self.exec_script()
|
|
185
|
-
preprocess_result = self._preprocess_result()
|
|
186
|
-
if state == DataStateEnum.unlabeled and sample_id not in preprocess_result[state].sample_ids:
|
|
187
|
-
self._preprocess_result(update_unlabeled_preprocess=True)
|
|
188
|
-
|
|
189
|
-
metadata, metadata_is_none = self._get_metadata(state, sample_id)
|
|
190
|
-
sample = DatasetSample(inputs=self._get_inputs(state, sample_id),
|
|
191
|
-
gt=None if state == DataStateEnum.unlabeled else self._get_gt(state, sample_id),
|
|
192
|
-
metadata=metadata,
|
|
193
|
-
metadata_is_none=metadata_is_none,
|
|
194
|
-
index=sample_id,
|
|
195
|
-
state=state,
|
|
196
|
-
instance_masks=self._get_instances_masks(state, sample_id))
|
|
197
|
-
return sample
|
|
198
185
|
|
|
199
186
|
def check_dataset(self) -> DatasetIntegParseResult:
|
|
200
187
|
test_payloads: List[DatasetTestResultPayload] = []
|
|
@@ -484,13 +471,14 @@ class LeapLoader(LeapLoaderBase):
|
|
|
484
471
|
def _get_inputs(self, state: DataStateEnum, sample_id: Union[int, str]) -> Dict[str, npt.NDArray[np.float32]]:
|
|
485
472
|
return self._get_dataset_handlers(global_leap_binder.setup_container.inputs, state, sample_id)
|
|
486
473
|
|
|
487
|
-
def _get_instances_masks(self, state: DataStateEnum, sample_id: Union[int, str]) -> Dict[
|
|
488
|
-
|
|
474
|
+
def _get_instances_masks(self, state: DataStateEnum, sample_id: Union[int, str], instance_id: int) -> Optional[Dict[str, ElementInstance]]:
|
|
475
|
+
if instance_id is None:
|
|
476
|
+
return None
|
|
489
477
|
preprocess_result = self._preprocess_result()
|
|
490
478
|
preprocess_state = preprocess_result[state]
|
|
491
479
|
result_agg = {}
|
|
492
480
|
for handler in global_leap_binder.setup_container.instance_masks:
|
|
493
|
-
handler_result = handler.function(sample_id, preprocess_state)
|
|
481
|
+
handler_result = handler.function(sample_id, preprocess_state, instance_id)
|
|
494
482
|
handler_name = handler.name
|
|
495
483
|
result_agg[handler_name] = handler_result
|
|
496
484
|
return result_agg
|
|
@@ -570,7 +558,7 @@ class LeapLoader(LeapLoaderBase):
|
|
|
570
558
|
self.exec_script()
|
|
571
559
|
return global_leap_binder.setup_container.custom_latent_space is not None
|
|
572
560
|
|
|
573
|
-
def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str]
|
|
561
|
+
def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str]]:
|
|
574
562
|
"""
|
|
575
563
|
This Method get the data state and returns two dictionaries that holds the mapping of the sample ids to their
|
|
576
564
|
instances and the other way around and the sample ids array.
|
|
@@ -583,4 +571,4 @@ class LeapLoader(LeapLoaderBase):
|
|
|
583
571
|
"""
|
|
584
572
|
preprocess_result = self._preprocess_result()
|
|
585
573
|
preprocess_state = preprocess_result[state]
|
|
586
|
-
return preprocess_state.sample_ids_to_instance_mappings, preprocess_state.instance_to_sample_ids_mappings
|
|
574
|
+
return preprocess_state.sample_ids_to_instance_mappings, preprocess_state.instance_to_sample_ids_mappings
|
|
@@ -61,15 +61,11 @@ class LeapLoaderBase:
|
|
|
61
61
|
pass
|
|
62
62
|
|
|
63
63
|
@abstractmethod
|
|
64
|
-
def get_sample(self, state: DataStateEnum, sample_id: Union[int, str]) -> DatasetSample:
|
|
64
|
+
def get_sample(self, state: DataStateEnum, sample_id: Union[int, str], instance_id: int = None) -> DatasetSample:
|
|
65
65
|
pass
|
|
66
66
|
|
|
67
67
|
@abstractmethod
|
|
68
|
-
def
|
|
69
|
-
pass
|
|
70
|
-
|
|
71
|
-
@abstractmethod
|
|
72
|
-
def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str], Dict[str, str]]:
|
|
68
|
+
def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str]]:
|
|
73
69
|
pass
|
|
74
70
|
|
|
75
71
|
@abstractmethod
|
|
@@ -94,10 +94,6 @@ class MixpanelTracker:
|
|
|
94
94
|
Args:
|
|
95
95
|
event_properties: Optional additional properties to include in the event
|
|
96
96
|
"""
|
|
97
|
-
# Skip tracking if IS_TENSORLEAP_PLATFORM environment variable is set to 'true'
|
|
98
|
-
if os.environ.get('IS_TENSORLEAP_PLATFORM') == 'true':
|
|
99
|
-
return
|
|
100
|
-
|
|
101
97
|
try:
|
|
102
98
|
distinct_id = self._get_distinct_id()
|
|
103
99
|
|
|
@@ -18,12 +18,12 @@ def to_numpy_return_wrapper(encoder_function: SectionCallableInterface) -> Secti
|
|
|
18
18
|
|
|
19
19
|
return numpy_encoder_function
|
|
20
20
|
|
|
21
|
-
def to_numpy_return_masks_wrapper(encoder_function: InstanceCallableInterface) ->
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
result
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
def to_numpy_return_masks_wrapper(encoder_function: InstanceCallableInterface) -> InstanceCallableInterface:
|
|
22
|
+
def numpy_encoder_function(idx: Union[int, str], samples: PreprocessResponse, element_idx: Union[int, str]) -> Union[ElementInstance, None]:
|
|
23
|
+
result = encoder_function(idx, samples, element_idx)
|
|
24
|
+
if result is None:
|
|
25
|
+
return None
|
|
26
|
+
result.mask = np.array(result.mask)
|
|
27
27
|
return result
|
|
28
28
|
return numpy_encoder_function
|
|
29
29
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/contract/responsedataclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/cli_config_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/experiment_api/experiment_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.121.dev0 → code_loader-1.0.122}/code_loader/visualizers/default_visualizers.py
RENAMED
|
File without changes
|