code-loader 1.0.154a0__tar.gz → 1.0.154.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.
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/PKG-INFO +1 -1
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/datasetclasses.py +0 -1
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/enums.py +3 -1
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/responsedataclasses.py +1 -1
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/inner_leap_binder/leapbinder.py +12 -17
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/inner_leap_binder/leapbinder_decorators.py +2 -6
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/leaploader.py +6 -22
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/pyproject.toml +1 -1
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/LICENSE +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/README.md +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/__init__.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/leaploaderbase.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/mixpanel_tracker.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/utils.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -46,7 +46,8 @@ class DataStateType(Enum):
|
|
|
46
46
|
training = "training"
|
|
47
47
|
validation = "validation"
|
|
48
48
|
test = "test"
|
|
49
|
-
unlabeled = "unlabeled"
|
|
49
|
+
unlabeled = "unlabeled",
|
|
50
|
+
additional_labeled = "additional_labeled"
|
|
50
51
|
|
|
51
52
|
|
|
52
53
|
class DataStateEnum(IntEnum):
|
|
@@ -54,6 +55,7 @@ class DataStateEnum(IntEnum):
|
|
|
54
55
|
validation = 1
|
|
55
56
|
test = 2
|
|
56
57
|
unlabeled = 3
|
|
58
|
+
additional_labeled = 4
|
|
57
59
|
|
|
58
60
|
|
|
59
61
|
class ConfusionMatrixValue(Enum):
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/responsedataclasses.py
RENAMED
|
@@ -11,6 +11,7 @@ class DatasetPreprocess:
|
|
|
11
11
|
validation_length: int
|
|
12
12
|
test_length: Optional[int] = None
|
|
13
13
|
unlabeled_length: Optional[int] = None
|
|
14
|
+
additional_labeled_length: Optional[int] = None
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
@dataclass
|
|
@@ -27,7 +28,6 @@ class DatasetInputInstance(DatasetBaseSectionInstance):
|
|
|
27
28
|
@dataclass
|
|
28
29
|
class DatasetMetadataInstance(DatasetBaseSectionInstance):
|
|
29
30
|
type: DatasetMetadataType
|
|
30
|
-
use_for_semantic_ls: Optional[bool] = None
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
@dataclass
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
@@ -24,6 +24,7 @@ from code_loader.visualizers.default_visualizers import DefaultVisualizer, \
|
|
|
24
24
|
default_image_visualizer, default_horizontal_bar_visualizer, default_word_visualizer, \
|
|
25
25
|
default_image_mask_visualizer, default_text_mask_visualizer, default_raw_data_visualizer, default_video_visualizer
|
|
26
26
|
|
|
27
|
+
|
|
27
28
|
mapping_runtime_mode_env_var_mame = '__MAPPING_RUNTIME_MODE__'
|
|
28
29
|
|
|
29
30
|
|
|
@@ -238,6 +239,7 @@ class LeapBinder:
|
|
|
238
239
|
|
|
239
240
|
self._encoder_names.append(name)
|
|
240
241
|
|
|
242
|
+
|
|
241
243
|
def set_instance_masks(self, function: InstanceCallableInterface, name: str) -> None:
|
|
242
244
|
"""
|
|
243
245
|
Set the instance mask handler function.
|
|
@@ -252,6 +254,7 @@ class LeapBinder:
|
|
|
252
254
|
function = to_numpy_return_masks_wrapper(function)
|
|
253
255
|
self.setup_container.instance_masks.append(ElementInstanceMasksHandler(name, function))
|
|
254
256
|
|
|
257
|
+
|
|
255
258
|
def add_custom_loss(self, function: CustomCallableInterface, name: str) -> None:
|
|
256
259
|
"""
|
|
257
260
|
Add a custom loss function to the setup.
|
|
@@ -328,8 +331,7 @@ class LeapBinder:
|
|
|
328
331
|
metric_handler_data = MetricHandlerData(name, regular_arg_names, direction, compute_insights)
|
|
329
332
|
self.setup_container.metrics.append(MetricHandler(metric_handler_data, function))
|
|
330
333
|
|
|
331
|
-
def add_prediction(self, name: str, labels: List[str], channel_dim: int = -1,
|
|
332
|
-
prediction_index: Optional[int] = None) -> None:
|
|
334
|
+
def add_prediction(self, name: str, labels: List[str], channel_dim: int = -1, prediction_index: Optional[int]=None) -> None:
|
|
333
335
|
"""
|
|
334
336
|
Add prediction labels to the setup.
|
|
335
337
|
|
|
@@ -346,8 +348,7 @@ class LeapBinder:
|
|
|
346
348
|
self.setup_container.prediction_types.append(PredictionTypeHandler(name, labels, channel_dim))
|
|
347
349
|
if prediction_index is not None:
|
|
348
350
|
node_connection = NodeConnection(NodeMapping(name, NodeMappingType.PredictionLabels),
|
|
349
|
-
{'temp': NodeMapping('',
|
|
350
|
-
NodeMappingType(f'Prediction{prediction_index}'))})
|
|
351
|
+
{'temp': NodeMapping('', NodeMappingType(f'Prediction{prediction_index}'))})
|
|
351
352
|
|
|
352
353
|
self.mapping_connections.append(node_connection)
|
|
353
354
|
|
|
@@ -383,8 +384,7 @@ class LeapBinder:
|
|
|
383
384
|
self._encoder_names.append(name)
|
|
384
385
|
|
|
385
386
|
def set_metadata(self, function: MetadataSectionCallableInterface, name: str,
|
|
386
|
-
metadata_type: Optional[Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None
|
|
387
|
-
use_for_semantic_ls: Optional[bool] = None) -> None:
|
|
387
|
+
metadata_type: Optional[Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None) -> None:
|
|
388
388
|
"""
|
|
389
389
|
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.
|
|
390
390
|
|
|
@@ -419,7 +419,7 @@ class LeapBinder:
|
|
|
419
419
|
leap_binder.set_metadata(metadata_handler_index, name='metadata_index')
|
|
420
420
|
leap_binder.set_metadata(metadata_handler_image_mean, name='metadata_image_mean')
|
|
421
421
|
"""
|
|
422
|
-
self.setup_container.metadata.append(MetadataHandler(name, function, metadata_type
|
|
422
|
+
self.setup_container.metadata.append(MetadataHandler(name, function, metadata_type))
|
|
423
423
|
|
|
424
424
|
def set_custom_latent_space(self, function: SectionCallableInterface) -> None:
|
|
425
425
|
"""
|
|
@@ -534,8 +534,7 @@ class LeapBinder:
|
|
|
534
534
|
@staticmethod
|
|
535
535
|
def check_handler(
|
|
536
536
|
preprocess_response: PreprocessResponse, test_result: List[DatasetTestResultPayload],
|
|
537
|
-
dataset_base_handler: Union[DatasetBaseHandler, MetadataHandler], state: DataStateEnum) -> List[
|
|
538
|
-
DatasetTestResultPayload]:
|
|
537
|
+
dataset_base_handler: Union[DatasetBaseHandler, MetadataHandler], state: DataStateEnum) -> List[DatasetTestResultPayload]:
|
|
539
538
|
assert preprocess_response.sample_ids is not None
|
|
540
539
|
raw_result = dataset_base_handler.function(preprocess_response.sample_ids[0], preprocess_response)
|
|
541
540
|
handler_type = 'metadata' if isinstance(dataset_base_handler, MetadataHandler) else None
|
|
@@ -555,8 +554,7 @@ class LeapBinder:
|
|
|
555
554
|
|
|
556
555
|
metadata_type = None
|
|
557
556
|
if single_metadata_result is None:
|
|
558
|
-
if state != DataStateEnum.training and test_result[
|
|
559
|
-
i].name == f'{dataset_base_handler.name}_{single_metadata_name}':
|
|
557
|
+
if state != DataStateEnum.training and test_result[i].name == f'{dataset_base_handler.name}_{single_metadata_name}':
|
|
560
558
|
metadata_test_result_payloads[i] = test_result[i]
|
|
561
559
|
continue
|
|
562
560
|
|
|
@@ -564,8 +562,7 @@ class LeapBinder:
|
|
|
564
562
|
raise Exception(f"Metadata {single_metadata_name} is None and no metadata type is provided")
|
|
565
563
|
elif isinstance(dataset_base_handler.metadata_type, dict):
|
|
566
564
|
if single_metadata_name not in dataset_base_handler.metadata_type:
|
|
567
|
-
raise Exception(
|
|
568
|
-
f"Metadata {single_metadata_name} is None and no metadata type is provided")
|
|
565
|
+
raise Exception(f"Metadata {single_metadata_name} is None and no metadata type is provided")
|
|
569
566
|
metadata_type = dataset_base_handler.metadata_type[single_metadata_name]
|
|
570
567
|
else:
|
|
571
568
|
raise Exception(f"Metadata {single_metadata_name} is None and metadata type is not a dict")
|
|
@@ -582,11 +579,9 @@ class LeapBinder:
|
|
|
582
579
|
return test_result
|
|
583
580
|
|
|
584
581
|
if dataset_base_handler.metadata_type is None:
|
|
585
|
-
raise Exception(
|
|
586
|
-
f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
|
|
582
|
+
raise Exception(f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
|
|
587
583
|
elif isinstance(dataset_base_handler.metadata_type, dict):
|
|
588
|
-
raise Exception(
|
|
589
|
-
f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
|
|
584
|
+
raise Exception(f"Metadata {dataset_base_handler.name} is None and no metadata type is provided")
|
|
590
585
|
metadata_type = dataset_base_handler.metadata_type
|
|
591
586
|
|
|
592
587
|
result_shape = get_shape(raw_result)
|
|
@@ -897,17 +897,13 @@ def tensorleap_custom_visualizer(name: str, visualizer_type: LeapDataType,
|
|
|
897
897
|
|
|
898
898
|
|
|
899
899
|
def tensorleap_metadata(
|
|
900
|
-
name: str, metadata_type: Optional[Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None
|
|
901
|
-
use_for_semantic_ls: Optional[bool] = None):
|
|
900
|
+
name: str, metadata_type: Optional[Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None):
|
|
902
901
|
def decorating_function(user_function: MetadataSectionCallableInterface):
|
|
903
902
|
for metadata_handler in leap_binder.setup_container.metadata:
|
|
904
903
|
if metadata_handler.name == name:
|
|
905
904
|
raise Exception(f'Metadata with name {name} already exists. '
|
|
906
905
|
f'Please choose another')
|
|
907
906
|
|
|
908
|
-
if not type(use_for_semantic_ls) in (type(None), bool):
|
|
909
|
-
raise Exception(f'use_for_semantic_ls must be either None or a boolean')
|
|
910
|
-
|
|
911
907
|
def _validate_input_args(sample_id: Union[int, str], preprocess_response: PreprocessResponse):
|
|
912
908
|
assert type(sample_id) == preprocess_response.sample_id_type, \
|
|
913
909
|
(f'{user_function.__name__}() validation failed: '
|
|
@@ -943,7 +939,7 @@ def tensorleap_metadata(
|
|
|
943
939
|
|
|
944
940
|
return result
|
|
945
941
|
|
|
946
|
-
leap_binder.set_metadata(inner_without_validate, name, metadata_type
|
|
942
|
+
leap_binder.set_metadata(inner_without_validate, name, metadata_type)
|
|
947
943
|
|
|
948
944
|
def inner(*args, **kwargs):
|
|
949
945
|
if not _call_from_tl_platform:
|
|
@@ -357,7 +357,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
357
357
|
training_length=setup.preprocess.data_length.get(DataStateType.training, 0),
|
|
358
358
|
validation_length=setup.preprocess.data_length.get(DataStateType.validation, 0),
|
|
359
359
|
test_length=setup.preprocess.data_length.get(DataStateType.test),
|
|
360
|
-
unlabeled_length=unlabeled_length
|
|
360
|
+
unlabeled_length=unlabeled_length,
|
|
361
|
+
additional_labeled_length=setup.preprocess.data_length.get(DataStateType.additional_labeled),
|
|
361
362
|
)
|
|
362
363
|
|
|
363
364
|
inputs = []
|
|
@@ -373,19 +374,6 @@ class LeapLoader(LeapLoaderBase):
|
|
|
373
374
|
ground_truths.append(
|
|
374
375
|
DatasetOutputInstance(name=gt.name, shape=gt.shape))
|
|
375
376
|
|
|
376
|
-
metadata_handler_use_for_semantic_ls = {
|
|
377
|
-
handler.name: handler.use_for_semantic_ls
|
|
378
|
-
for handler in setup.metadata
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
def get_use_for_semantic_ls(payload_name: str) -> Optional[bool]:
|
|
382
|
-
if payload_name in metadata_handler_use_for_semantic_ls:
|
|
383
|
-
return metadata_handler_use_for_semantic_ls[payload_name]
|
|
384
|
-
for handler_name, use_semantic_ls in metadata_handler_use_for_semantic_ls.items():
|
|
385
|
-
if payload_name.startswith(f"{handler_name}_"):
|
|
386
|
-
return use_semantic_ls
|
|
387
|
-
return None
|
|
388
|
-
|
|
389
377
|
metadata_instances = []
|
|
390
378
|
for handler_test_payload in handlers_test_payloads:
|
|
391
379
|
if handler_test_payload.handler_type != 'metadata':
|
|
@@ -394,10 +382,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
394
382
|
handler_test_payload.raw_result = handler_test_payload.raw_result.tolist()
|
|
395
383
|
if isinstance(handler_test_payload.raw_result, DatasetMetadataType):
|
|
396
384
|
dataset_metadata_type = handler_test_payload.raw_result
|
|
397
|
-
metadata_instances.append(DatasetMetadataInstance(
|
|
398
|
-
|
|
399
|
-
type=dataset_metadata_type,
|
|
400
|
-
use_for_semantic_ls=get_use_for_semantic_ls(handler_test_payload.name)))
|
|
385
|
+
metadata_instances.append(DatasetMetadataInstance(name=handler_test_payload.name,
|
|
386
|
+
type=dataset_metadata_type))
|
|
401
387
|
continue
|
|
402
388
|
metadata_type = type(handler_test_payload.raw_result)
|
|
403
389
|
if metadata_type == int or isinstance(handler_test_payload.raw_result,
|
|
@@ -412,10 +398,8 @@ class LeapLoader(LeapLoaderBase):
|
|
|
412
398
|
else:
|
|
413
399
|
raise Exception(f"Unsupported return type of metadata {handler_test_payload.name}."
|
|
414
400
|
f"The return type should be one of [int, float, str, bool]. Got {metadata_type}")
|
|
415
|
-
metadata_instances.append(DatasetMetadataInstance(
|
|
416
|
-
|
|
417
|
-
type=dataset_metadata_type,
|
|
418
|
-
use_for_semantic_ls=get_use_for_semantic_ls(handler_test_payload.name)))
|
|
401
|
+
metadata_instances.append(DatasetMetadataInstance(name=handler_test_payload.name,
|
|
402
|
+
type=dataset_metadata_type))
|
|
419
403
|
|
|
420
404
|
visualizers = [
|
|
421
405
|
VisualizerInstance(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/contract/visualizer_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/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.154a0 → code_loader-1.0.154.dev0}/code_loader/experiment_api/experiment_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/inner_leap_binder/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.154a0 → code_loader-1.0.154.dev0}/code_loader/visualizers/default_visualizers.py
RENAMED
|
File without changes
|