code-loader 1.0.183.dev0__tar.gz → 1.0.184.dev1__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.
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/PKG-INFO +1 -1
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/leaploader.py +69 -37
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/leaploaderbase.py +2 -2
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/pyproject.toml +1 -1
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/LICENSE +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/README.md +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/__init__.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/datasetclasses.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/sim_config.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/inner_leap_binder/leapbinder.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/mixpanel_tracker.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/utils.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -44,7 +44,7 @@ class LeapLoader(LeapLoaderBase):
|
|
|
44
44
|
super().__init__(code_path, code_entry_name)
|
|
45
45
|
|
|
46
46
|
self._preprocess_result_cached = None
|
|
47
|
-
self.
|
|
47
|
+
self._synthetic_lookup: Dict[str, Tuple[PreprocessResponse, Any]] = {}
|
|
48
48
|
|
|
49
49
|
try:
|
|
50
50
|
from code_loader.mixpanel_tracker import track_code_loader_loaded
|
|
@@ -191,22 +191,11 @@ class LeapLoader(LeapLoaderBase):
|
|
|
191
191
|
def get_sample(self, state: DataStateEnum, sample_id: Union[int, str], instance_id: int = None) -> DatasetSample:
|
|
192
192
|
self.exec_script()
|
|
193
193
|
|
|
194
|
-
if isinstance(sample_id, str) and sample_id.
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
sim_preprocess = self._synthetic_responses.get(prefix)
|
|
200
|
-
if sim_preprocess is not None:
|
|
201
|
-
try:
|
|
202
|
-
local_idx = int(local_idx_str)
|
|
203
|
-
original_sample_id = sim_preprocess.sample_ids[local_idx]
|
|
204
|
-
except (ValueError, IndexError):
|
|
205
|
-
pass
|
|
206
|
-
else:
|
|
207
|
-
return self._get_sample_from_preprocess(
|
|
208
|
-
sim_preprocess, original_sample_id, synthetic_index=sample_id
|
|
209
|
-
)
|
|
194
|
+
if isinstance(sample_id, str) and sample_id in self._synthetic_lookup:
|
|
195
|
+
sim_preprocess, original_local_id = self._synthetic_lookup[sample_id]
|
|
196
|
+
return self._get_sample_from_preprocess(
|
|
197
|
+
sim_preprocess, original_local_id, synthetic_index=sample_id
|
|
198
|
+
)
|
|
210
199
|
|
|
211
200
|
preprocess_result = self._preprocess_result()
|
|
212
201
|
if state == DataStateEnum.unlabeled and sample_id not in preprocess_result[state].sample_ids:
|
|
@@ -408,8 +397,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
408
397
|
result_payloads.append(test_result)
|
|
409
398
|
return result_payloads
|
|
410
399
|
|
|
411
|
-
def run_simulation(self, sim_name, params=None, n_samples=1, seed=0,
|
|
412
|
-
# type: (str, Optional[Dict[str, Any]], int, int, Optional[str]) -> Dict[str, Any]
|
|
400
|
+
def run_simulation(self, sim_name, params=None, n_samples=1, seed=0, sample_ids=None):
|
|
401
|
+
# type: (str, Optional[Dict[str, Any]], int, int, Optional[List[str]]) -> Dict[str, Any]
|
|
413
402
|
self.exec_script()
|
|
414
403
|
sim = next(
|
|
415
404
|
(s for s in global_leap_binder.setup_container.simulations if s.name == sim_name),
|
|
@@ -433,13 +422,45 @@ class LeapLoader(LeapLoaderBase):
|
|
|
433
422
|
for handler in global_leap_binder.setup_container.inputs:
|
|
434
423
|
per_encoder[handler.name].append(handler.function(sample_id, sim_preprocess))
|
|
435
424
|
encoded = {name: np.stack(arrays) for name, arrays in per_encoder.items()}
|
|
436
|
-
if
|
|
437
|
-
|
|
438
|
-
|
|
425
|
+
if sample_ids is not None:
|
|
426
|
+
if len(sample_ids) != len(original_sample_ids):
|
|
427
|
+
raise ValueError(
|
|
428
|
+
"sample_ids length ({}) does not match simulation output length ({})".format(
|
|
429
|
+
len(sample_ids), len(original_sample_ids)
|
|
430
|
+
)
|
|
431
|
+
)
|
|
432
|
+
for sid in sample_ids:
|
|
433
|
+
if not isinstance(sid, str):
|
|
434
|
+
raise TypeError(
|
|
435
|
+
"All sample_ids must be of type str. Got: {}".format(type(sid))
|
|
436
|
+
)
|
|
437
|
+
for synth_id, original_local_id in zip(sample_ids, original_sample_ids):
|
|
438
|
+
self._synthetic_lookup[synth_id] = (sim_preprocess, original_local_id)
|
|
439
|
+
self._extend_additional_preprocess(list(sample_ids))
|
|
440
|
+
returned_sample_ids = list(sample_ids)
|
|
439
441
|
else:
|
|
440
442
|
returned_sample_ids = original_sample_ids
|
|
441
443
|
return {"encoded": encoded, "sample_ids": returned_sample_ids}
|
|
442
444
|
|
|
445
|
+
def _extend_additional_preprocess(self, new_sample_ids: List[str]) -> None:
|
|
446
|
+
if self._preprocess_result_cached is None:
|
|
447
|
+
self._preprocess_result()
|
|
448
|
+
additional = self._preprocess_result_cached.get(DataStateEnum.additional)
|
|
449
|
+
if additional is None:
|
|
450
|
+
placeholder = PreprocessResponse(
|
|
451
|
+
sample_ids=list(new_sample_ids),
|
|
452
|
+
data={},
|
|
453
|
+
state=DataStateType.additional,
|
|
454
|
+
sample_id_type=str,
|
|
455
|
+
tl_generated=True,
|
|
456
|
+
)
|
|
457
|
+
self._preprocess_result_cached[DataStateEnum.additional] = placeholder
|
|
458
|
+
global_leap_binder.setup_container.preprocess.data_length[DataStateType.additional] = placeholder.length
|
|
459
|
+
else:
|
|
460
|
+
additional.sample_ids = list(additional.sample_ids) + list(new_sample_ids)
|
|
461
|
+
additional.length = len(additional.sample_ids)
|
|
462
|
+
global_leap_binder.setup_container.preprocess.data_length[DataStateType.additional] = additional.length
|
|
463
|
+
|
|
443
464
|
@staticmethod
|
|
444
465
|
def _get_all_dataset_base_handlers() -> List[Union[DatasetBaseHandler, MetadataHandler]]:
|
|
445
466
|
all_dataset_base_handlers: List[Union[DatasetBaseHandler, MetadataHandler]] = []
|
|
@@ -653,7 +674,13 @@ class LeapLoader(LeapLoaderBase):
|
|
|
653
674
|
state: DataStateEnum, sample_id: Union[int, str]) -> Dict[str, npt.NDArray[np.float32]]:
|
|
654
675
|
result_agg = {}
|
|
655
676
|
preprocess_result = self._preprocess_result()
|
|
656
|
-
|
|
677
|
+
if (state == DataStateEnum.additional and isinstance(sample_id, str)
|
|
678
|
+
and sample_id in self._synthetic_lookup):
|
|
679
|
+
sim_preprocess, original_local_id = self._synthetic_lookup[sample_id]
|
|
680
|
+
preprocess_state = sim_preprocess
|
|
681
|
+
sample_id = original_local_id
|
|
682
|
+
else:
|
|
683
|
+
preprocess_state = preprocess_result[state]
|
|
657
684
|
for handler in handlers:
|
|
658
685
|
handler_result = handler.function(sample_id, preprocess_state)
|
|
659
686
|
handler_name = handler.name
|
|
@@ -667,7 +694,13 @@ class LeapLoader(LeapLoaderBase):
|
|
|
667
694
|
if instance_id is None:
|
|
668
695
|
return None
|
|
669
696
|
preprocess_result = self._preprocess_result()
|
|
670
|
-
|
|
697
|
+
if (state == DataStateEnum.additional and isinstance(sample_id, str)
|
|
698
|
+
and sample_id in self._synthetic_lookup):
|
|
699
|
+
sim_preprocess, original_local_id = self._synthetic_lookup[sample_id]
|
|
700
|
+
preprocess_state = sim_preprocess
|
|
701
|
+
sample_id = original_local_id
|
|
702
|
+
else:
|
|
703
|
+
preprocess_state = preprocess_result[state]
|
|
671
704
|
result_agg = {}
|
|
672
705
|
for handler in global_leap_binder.setup_container.instance_masks:
|
|
673
706
|
handler_result = handler.function(sample_id, preprocess_state, instance_id)
|
|
@@ -727,7 +760,13 @@ class LeapLoader(LeapLoaderBase):
|
|
|
727
760
|
result_agg = {}
|
|
728
761
|
is_none = {}
|
|
729
762
|
preprocess_result = self._preprocess_result()
|
|
730
|
-
|
|
763
|
+
if (state == DataStateEnum.additional and isinstance(sample_id, str)
|
|
764
|
+
and sample_id in self._synthetic_lookup):
|
|
765
|
+
sim_preprocess, original_local_id = self._synthetic_lookup[sample_id]
|
|
766
|
+
preprocess_state = sim_preprocess
|
|
767
|
+
sample_id = original_local_id
|
|
768
|
+
else:
|
|
769
|
+
preprocess_state = preprocess_result[state]
|
|
731
770
|
for handler in global_leap_binder.setup_container.metadata:
|
|
732
771
|
if requested_metadata_names:
|
|
733
772
|
if not is_metadata_name_starts_with_handler_name(handler):
|
|
@@ -768,17 +807,10 @@ class LeapLoader(LeapLoaderBase):
|
|
|
768
807
|
return global_leap_binder.setup_container.custom_latent_space is not None
|
|
769
808
|
|
|
770
809
|
def get_instances_data(self, state: DataStateEnum) -> Tuple[Dict[str, List[str]], Dict[str, str]]:
|
|
771
|
-
"""
|
|
772
|
-
This Method get the data state and returns two dictionaries that holds the mapping of the sample ids to their
|
|
773
|
-
instances and the other way around and the sample ids array.
|
|
774
|
-
Args:
|
|
775
|
-
state: DataStateEnum state
|
|
776
|
-
Returns:
|
|
777
|
-
sample_ids_to_instance_mappings: sample id to instance mappings
|
|
778
|
-
instance_to_sample_ids_mappings: instance to sample ids mappings
|
|
779
|
-
sample_ids: sample ids array
|
|
780
|
-
"""
|
|
781
810
|
preprocess_result = self._preprocess_result()
|
|
782
|
-
preprocess_state = preprocess_result
|
|
783
|
-
|
|
811
|
+
preprocess_state = preprocess_result.get(state)
|
|
812
|
+
if preprocess_state is None:
|
|
813
|
+
return {}, {}
|
|
814
|
+
return (preprocess_state.sample_ids_to_instance_mappings or {},
|
|
815
|
+
preprocess_state.instance_to_sample_ids_mappings or {})
|
|
784
816
|
|
|
@@ -154,8 +154,8 @@ class LeapLoaderBase:
|
|
|
154
154
|
pass
|
|
155
155
|
|
|
156
156
|
@abstractmethod
|
|
157
|
-
def run_simulation(self, sim_name, params=None, n_samples=1, seed=0,
|
|
158
|
-
# type: (str, Optional[Dict[str, Any]], int, int, Optional[str]) -> Dict[str, Any]
|
|
157
|
+
def run_simulation(self, sim_name, params=None, n_samples=1, seed=0, sample_ids=None):
|
|
158
|
+
# type: (str, Optional[Dict[str, Any]], int, int, Optional[List[str]]) -> Dict[str, Any]
|
|
159
159
|
pass
|
|
160
160
|
|
|
161
161
|
def is_custom_latent_space(self) -> bool:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/datasetclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/responsedataclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/contract/visualizer_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/experiment_api/cli_config_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/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.183.dev0 → code_loader-1.0.184.dev1}/code_loader/inner_leap_binder/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/plot_functions/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/plot_functions/visualize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.183.dev0 → code_loader-1.0.184.dev1}/code_loader/visualizers/default_visualizers.py
RENAMED
|
File without changes
|