code-loader 1.0.157.dev11__tar.gz → 1.0.157.dev12__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.157.dev11 → code_loader-1.0.157.dev12}/PKG-INFO +1 -1
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/inner_leap_binder/leapbinder_decorators.py +20 -12
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/leaploader.py +0 -1
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/utils.py +16 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/pyproject.toml +1 -1
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/LICENSE +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/README.md +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/__init__.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/datasetclasses.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/inner_leap_binder/leapbinder.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/leaploaderbase.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/mixpanel_tracker.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -11,6 +11,8 @@ from typing import Optional, Union, Callable, List, Dict, get_args, get_origin,
|
|
|
11
11
|
import numpy as np
|
|
12
12
|
import numpy.typing as npt
|
|
13
13
|
|
|
14
|
+
from code_loader.utils import get_metadata_type_from_variable
|
|
15
|
+
|
|
14
16
|
logger = logging.getLogger(__name__)
|
|
15
17
|
|
|
16
18
|
from code_loader.contract.datasetclasses import CustomCallableInterfaceMultiArgs, \
|
|
@@ -19,7 +21,7 @@ from code_loader.contract.datasetclasses import CustomCallableInterfaceMultiArgs
|
|
|
19
21
|
ConfusionMatrixElement, SamplePreprocessResponse, PredictionTypeHandler, InstanceCallableInterface, ElementInstance, \
|
|
20
22
|
InstanceLengthCallableInterface
|
|
21
23
|
from code_loader.contract.enums import MetricDirection, LeapDataType, DatasetMetadataType, DataStateType
|
|
22
|
-
from code_loader import leap_binder
|
|
24
|
+
from code_loader import leap_binder, LeapLoader
|
|
23
25
|
from code_loader.contract.mapping import NodeMapping, NodeMappingType, NodeConnection
|
|
24
26
|
from code_loader.contract.visualizer_classes import LeapImage, LeapImageMask, LeapTextMask, LeapText, LeapGraph, \
|
|
25
27
|
LeapHorizontalBar, LeapImageWithBBox, LeapImageWithHeatmap
|
|
@@ -1085,6 +1087,12 @@ def tensorleap_element_instance_preprocess(
|
|
|
1085
1087
|
preprocess_response.sample_ids = all_sample_ids
|
|
1086
1088
|
return result
|
|
1087
1089
|
|
|
1090
|
+
def map_dict_to_metadata_types(data: dict) -> dict:
|
|
1091
|
+
return {
|
|
1092
|
+
k: get_metadata_type_from_variable(v)
|
|
1093
|
+
for k, v in data.items()
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1088
1096
|
def extract_extra_instance_metadata():
|
|
1089
1097
|
result = user_function()
|
|
1090
1098
|
for preprocess_response in result:
|
|
@@ -1094,24 +1102,24 @@ def tensorleap_element_instance_preprocess(
|
|
|
1094
1102
|
element_instance = instance_mask_encoder(sample_id, preprocess_response, instance_id)
|
|
1095
1103
|
instance_metadata = element_instance.instance_metadata
|
|
1096
1104
|
if instance_metadata is None:
|
|
1097
|
-
return {}
|
|
1105
|
+
return {}, None
|
|
1098
1106
|
if instance_metadata is not None and all(value is not None for value in instance_metadata.values()):
|
|
1099
|
-
return instance_metadata
|
|
1100
|
-
return {}
|
|
1101
|
-
|
|
1107
|
+
return instance_metadata, map_dict_to_metadata_types(instance_metadata)
|
|
1108
|
+
return {}, None
|
|
1102
1109
|
|
|
1103
1110
|
def builtin_instance_metadata(idx: str, preprocess: PreprocessResponse) -> Dict[str, str]:
|
|
1104
1111
|
return {'is_instance': '0', 'original_sample_id': idx, 'instance_name': 'none'}
|
|
1105
1112
|
|
|
1106
|
-
def builtin_instance_extra_metadata(idx: str, preprocess: PreprocessResponse) -> Dict[str, str]:
|
|
1107
|
-
instance_metadata = extract_extra_instance_metadata()
|
|
1108
|
-
# for key, value in instance_metadata.items():
|
|
1109
|
-
# instance_metadata[key] = Nonew
|
|
1110
|
-
return instance_metadata
|
|
1111
|
-
|
|
1112
1113
|
leap_binder.set_preprocess(user_function_instance)
|
|
1113
1114
|
leap_binder.set_metadata(builtin_instance_metadata, "builtin_instance_metadata")
|
|
1114
|
-
|
|
1115
|
+
|
|
1116
|
+
instance_metadata, instance_metadata_types = extract_extra_instance_metadata()
|
|
1117
|
+
def builtin_instance_extra_metadata(idx: str, preprocess: PreprocessResponse) -> Dict[str, str]:
|
|
1118
|
+
for key, value in instance_metadata.items():
|
|
1119
|
+
instance_metadata[key] = None
|
|
1120
|
+
return instance_metadata
|
|
1121
|
+
if instance_metadata_types is not None:
|
|
1122
|
+
leap_binder.set_metadata(builtin_instance_extra_metadata, "builtin_instance_extra_metadata", instance_metadata_types)
|
|
1115
1123
|
|
|
1116
1124
|
def _validate_input_args(*args, **kwargs):
|
|
1117
1125
|
assert len(args) == 0 and len(kwargs) == 0, \
|
|
@@ -28,7 +28,6 @@ from code_loader.inner_leap_binder.leapbinder import mapping_runtime_mode_env_va
|
|
|
28
28
|
from code_loader.leaploaderbase import LeapLoaderBase
|
|
29
29
|
from code_loader.utils import get_root_exception_file_and_line_number
|
|
30
30
|
|
|
31
|
-
|
|
32
31
|
class LeapLoader(LeapLoaderBase):
|
|
33
32
|
def __init__(self, code_path: str, code_entry_name: str):
|
|
34
33
|
super().__init__(code_path, code_entry_name)
|
|
@@ -8,6 +8,7 @@ import numpy.typing as npt
|
|
|
8
8
|
|
|
9
9
|
from code_loader.contract.datasetclasses import SectionCallableInterface, PreprocessResponse, \
|
|
10
10
|
InstanceCallableInterface, ElementInstance
|
|
11
|
+
from code_loader.contract.enums import DatasetMetadataType
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
def to_numpy_return_wrapper(encoder_function: SectionCallableInterface) -> SectionCallableInterface:
|
|
@@ -75,4 +76,19 @@ def rescale_min_max(image: npt.NDArray[np.float32]) -> npt.NDArray[np.float32]:
|
|
|
75
76
|
|
|
76
77
|
return image
|
|
77
78
|
|
|
79
|
+
def get_metadata_type_from_variable(variable):
|
|
80
|
+
metadata_type = type(variable)
|
|
81
|
+
if metadata_type == int or isinstance(variable,
|
|
82
|
+
(np.unsignedinteger, np.signedinteger)):
|
|
83
|
+
metadata_type = float
|
|
84
|
+
if isinstance(variable, str):
|
|
85
|
+
dataset_metadata_type = DatasetMetadataType.string
|
|
86
|
+
elif metadata_type == bool or isinstance(variable, np.bool_):
|
|
87
|
+
dataset_metadata_type = DatasetMetadataType.boolean
|
|
88
|
+
elif metadata_type == float or isinstance(variable, np.floating):
|
|
89
|
+
dataset_metadata_type = DatasetMetadataType.float
|
|
90
|
+
else:
|
|
91
|
+
raise Exception(f"Unsupported return type of metadata {variable}."
|
|
92
|
+
f"The return type should be one of [int, float, str, bool]. Got {metadata_type}")
|
|
93
|
+
return dataset_metadata_type
|
|
78
94
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/datasetclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/responsedataclasses.py
RENAMED
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/contract/visualizer_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/experiment_api/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/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.157.dev11 → code_loader-1.0.157.dev12}/code_loader/inner_leap_binder/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/plot_functions/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
{code_loader-1.0.157.dev11 → code_loader-1.0.157.dev12}/code_loader/plot_functions/visualize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|