code-loader 1.0.61.dev1__tar.gz → 1.0.61.dev3__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.61.dev1 → code_loader-1.0.61.dev3}/PKG-INFO +1 -1
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/datasetclasses.py +14 -4
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/inner_leap_binder/leapbinder.py +4 -3
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/leaploader.py +23 -5
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/leaploaderbase.py +10 -6
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/pyproject.toml +1 -1
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/LICENSE +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/README.md +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/__init__.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/code_inegration_processes_manager.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/utils.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/visualizers/default_visualizers.py +0 -0
@@ -124,24 +124,34 @@ class CustomLossHandler:
|
|
124
124
|
|
125
125
|
|
126
126
|
@dataclass
|
127
|
-
class
|
127
|
+
class MetricHandlerData:
|
128
128
|
name: str
|
129
|
-
function: Union[CustomCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs]
|
130
129
|
arg_names: List[str]
|
131
130
|
direction: Optional[MetricDirection] = MetricDirection.Downward
|
132
131
|
|
133
132
|
|
133
|
+
@dataclass
|
134
|
+
class MetricHandler:
|
135
|
+
metric_handler_data: MetricHandlerData
|
136
|
+
function: Union[CustomCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs]
|
137
|
+
|
138
|
+
|
134
139
|
@dataclass
|
135
140
|
class RawInputsForHeatmap:
|
136
141
|
raw_input_by_vizualizer_arg_name: Dict[str, npt.NDArray[np.float32]]
|
137
142
|
|
138
143
|
|
139
144
|
@dataclass
|
140
|
-
class
|
145
|
+
class VisualizerHandlerData:
|
141
146
|
name: str
|
142
|
-
function: VisualizerCallableInterface
|
143
147
|
type: LeapDataType
|
144
148
|
arg_names: List[str]
|
149
|
+
|
150
|
+
|
151
|
+
@dataclass
|
152
|
+
class VisualizerHandler:
|
153
|
+
visualizer_handler_data: VisualizerHandlerData
|
154
|
+
function: VisualizerCallableInterface
|
145
155
|
heatmap_function: Optional[Callable[..., npt.NDArray[np.float32]]] = None
|
146
156
|
|
147
157
|
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
@@ -9,7 +9,8 @@ from code_loader.contract.datasetclasses import SectionCallableInterface, InputH
|
|
9
9
|
PreprocessHandler, VisualizerCallableInterface, CustomLossHandler, CustomCallableInterface, PredictionTypeHandler, \
|
10
10
|
MetadataSectionCallableInterface, UnlabeledDataPreprocessHandler, CustomLayerHandler, MetricHandler, \
|
11
11
|
CustomCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs, LeapData, \
|
12
|
-
CustomMultipleReturnCallableInterfaceMultiArgs, DatasetBaseHandler, custom_latent_space_attribute,
|
12
|
+
CustomMultipleReturnCallableInterfaceMultiArgs, DatasetBaseHandler, custom_latent_space_attribute, \
|
13
|
+
RawInputsForHeatmap, VisualizerHandlerData, MetricHandlerData
|
13
14
|
from code_loader.contract.enums import LeapDataType, DataStateEnum, DataStateType, MetricDirection
|
14
15
|
from code_loader.contract.responsedataclasses import DatasetTestResultPayload
|
15
16
|
from code_loader.contract.visualizer_classes import map_leap_data_type_to_visualizer_class
|
@@ -127,7 +128,7 @@ class LeapBinder:
|
|
127
128
|
f'should be {expected_return_type}')
|
128
129
|
|
129
130
|
self.setup_container.visualizers.append(
|
130
|
-
VisualizerHandler(name,
|
131
|
+
VisualizerHandler(VisualizerHandlerData(name, visualizer_type, arg_names), function, heatmap_visualizer))
|
131
132
|
self._visualizer_names.append(name)
|
132
133
|
|
133
134
|
def set_preprocess(self, function: Callable[[], List[PreprocessResponse]]) -> None:
|
@@ -251,7 +252,7 @@ class LeapBinder:
|
|
251
252
|
leap_binder.add_custom_metric(custom_metric_function, name='custom_metric', direction=MetricDirection.Downward)
|
252
253
|
"""
|
253
254
|
arg_names = inspect.getfullargspec(function)[0]
|
254
|
-
self.setup_container.metrics.append(MetricHandler(name,
|
255
|
+
self.setup_container.metrics.append(MetricHandler(MetricHandlerData(name, arg_names, direction), function))
|
255
256
|
|
256
257
|
def add_prediction(self, name: str, labels: List[str], channel_dim: int = -1) -> None:
|
257
258
|
"""
|
@@ -12,7 +12,7 @@ import numpy.typing as npt
|
|
12
12
|
|
13
13
|
from code_loader.contract.datasetclasses import DatasetSample, DatasetBaseHandler, GroundTruthHandler, \
|
14
14
|
PreprocessResponse, VisualizerHandler, LeapData, CustomLossHandler, \
|
15
|
-
PredictionTypeHandler, MetadataHandler, CustomLayerHandler, MetricHandler
|
15
|
+
PredictionTypeHandler, MetadataHandler, CustomLayerHandler, MetricHandler, VisualizerHandlerData, MetricHandlerData
|
16
16
|
from code_loader.contract.enums import DataStateEnum, TestingSectionEnum, DataStateType, DatasetMetadataType
|
17
17
|
from code_loader.contract.exceptions import DatasetScriptException
|
18
18
|
from code_loader.contract.responsedataclasses import DatasetIntegParseResult, DatasetTestResultPayload, \
|
@@ -65,7 +65,16 @@ class LeapLoader(LeapLoaderBase):
|
|
65
65
|
spec.loader.exec_module(file)
|
66
66
|
|
67
67
|
@lru_cache()
|
68
|
-
def metric_by_name(self) -> Dict[str,
|
68
|
+
def metric_by_name(self) -> Dict[str, MetricHandlerData]:
|
69
|
+
self.exec_script()
|
70
|
+
setup = global_leap_binder.setup_container
|
71
|
+
return {
|
72
|
+
metric_handler.name: metric_handler.metric_handler_data
|
73
|
+
for metric_handler in setup.metrics
|
74
|
+
}
|
75
|
+
|
76
|
+
@lru_cache()
|
77
|
+
def _metric_handler_by_name(self) -> Dict[str, MetricHandler]:
|
69
78
|
self.exec_script()
|
70
79
|
setup = global_leap_binder.setup_container
|
71
80
|
return {
|
@@ -74,7 +83,16 @@ class LeapLoader(LeapLoaderBase):
|
|
74
83
|
}
|
75
84
|
|
76
85
|
@lru_cache()
|
77
|
-
def visualizer_by_name(self) -> Dict[str,
|
86
|
+
def visualizer_by_name(self) -> Dict[str, VisualizerHandlerData]:
|
87
|
+
self.exec_script()
|
88
|
+
setup = global_leap_binder.setup_container
|
89
|
+
return {
|
90
|
+
visualizer_handler.name: visualizer_handler.visualizer_handler_data
|
91
|
+
for visualizer_handler in setup.visualizers
|
92
|
+
}
|
93
|
+
|
94
|
+
@lru_cache()
|
95
|
+
def _visualizer_handler_by_name(self) -> Dict[str, VisualizerHandler]:
|
78
96
|
self.exec_script()
|
79
97
|
setup = global_leap_binder.setup_container
|
80
98
|
return {
|
@@ -205,11 +223,11 @@ class LeapLoader(LeapLoaderBase):
|
|
205
223
|
# global param that visualizer is using)
|
206
224
|
self._preprocess_result()
|
207
225
|
|
208
|
-
return self.
|
226
|
+
return self._visualizer_handler_by_name()[visualizer_name].function(**input_tensors_by_arg_name)
|
209
227
|
|
210
228
|
def run_heatmap_visualizer(self, visualizer_name: str, input_tensors_by_arg_name: Dict[str, npt.NDArray[np.float32]]
|
211
229
|
) -> npt.NDArray[np.float32]:
|
212
|
-
heatmap_function = self.
|
230
|
+
heatmap_function = self._visualizer_handler_by_name()[visualizer_name].heatmap_function
|
213
231
|
if heatmap_function is None:
|
214
232
|
assert len(input_tensors_by_arg_name) == 1
|
215
233
|
return list(input_tensors_by_arg_name.values())[0]
|
@@ -7,8 +7,8 @@ from typing import Dict, List, Union, Type
|
|
7
7
|
import numpy as np
|
8
8
|
import numpy.typing as npt
|
9
9
|
|
10
|
-
from code_loader.contract.datasetclasses import DatasetSample,
|
11
|
-
PredictionTypeHandler, CustomLayerHandler
|
10
|
+
from code_loader.contract.datasetclasses import DatasetSample, LeapData, CustomLossHandler, \
|
11
|
+
PredictionTypeHandler, CustomLayerHandler, VisualizerHandlerData, MetricHandlerData
|
12
12
|
from code_loader.contract.enums import DataStateEnum
|
13
13
|
from code_loader.contract.responsedataclasses import DatasetIntegParseResult, DatasetTestResultPayload, \
|
14
14
|
DatasetSetup, ModelSetup
|
@@ -19,14 +19,12 @@ class LeapLoaderBase:
|
|
19
19
|
self.code_entry_name = code_entry_name
|
20
20
|
self.code_path = code_path
|
21
21
|
|
22
|
-
self._preprocess_result_cached = None
|
23
|
-
|
24
22
|
@abstractmethod
|
25
|
-
def metric_by_name(self):
|
23
|
+
def metric_by_name(self) -> Dict[str, MetricHandlerData]:
|
26
24
|
pass
|
27
25
|
|
28
26
|
@abstractmethod
|
29
|
-
def visualizer_by_name(self) -> Dict[str,
|
27
|
+
def visualizer_by_name(self) -> Dict[str, VisualizerHandlerData]:
|
30
28
|
pass
|
31
29
|
|
32
30
|
@abstractmethod
|
@@ -75,3 +73,9 @@ class LeapLoaderBase:
|
|
75
73
|
@abstractmethod
|
76
74
|
def get_sample_id_type(self) -> Type:
|
77
75
|
pass
|
76
|
+
|
77
|
+
def is_custom_latent_space(self) -> bool:
|
78
|
+
if not self.code_entry_name or not self.code_path:
|
79
|
+
return False
|
80
|
+
custom_layers = self.custom_layers()
|
81
|
+
return any(layer.use_custom_latent_space for layer in custom_layers.values())
|
File without changes
|
File without changes
|
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/code_inegration_processes_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/responsedataclasses.py
RENAMED
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/contract/visualizer_classes.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/cli_config_utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/experiment.py
RENAMED
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/experiment_api/experiment_context.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/inner_leap_binder/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{code_loader-1.0.61.dev1 → code_loader-1.0.61.dev3}/code_loader/visualizers/default_visualizers.py
RENAMED
File without changes
|