code-loader 1.0.174.dev2__tar.gz → 1.0.174.dev4__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.174.dev2 → code_loader-1.0.174.dev4}/PKG-INFO +1 -1
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/inner_leap_binder/leapbinder.py +44 -1
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/inner_leap_binder/leapbinder_decorators.py +1 -1
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/pyproject.toml +1 -1
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/LICENSE +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/README.md +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/__init__.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/datasetclasses.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/leaploader.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/leaploaderbase.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/mixpanel_tracker.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/utils.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/visualizers/default_visualizers.py +0 -0
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
@@ -12,7 +12,7 @@ from code_loader.contract.datasetclasses import SectionCallableInterface, InputH
|
|
|
12
12
|
CustomCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs, LeapData, \
|
|
13
13
|
CustomMultipleReturnCallableInterfaceMultiArgs, DatasetBaseHandler, custom_latent_space_attribute, \
|
|
14
14
|
RawInputsForHeatmap, VisualizerHandlerData, MetricHandlerData, CustomLossHandlerData, SamplePreprocessResponse, \
|
|
15
|
-
ElementInstanceMasksHandler, InstanceCallableInterface, CustomLatentSpaceHandler
|
|
15
|
+
ElementInstanceMasksHandler, InstanceCallableInterface, CustomLatentSpaceHandler, InstanceMetricHandler
|
|
16
16
|
from code_loader.contract.enums import LeapDataType, DataStateEnum, DataStateType, MetricDirection, DatasetMetadataType
|
|
17
17
|
from code_loader.contract.mapping import NodeConnection, NodeMapping, NodeMappingType
|
|
18
18
|
from code_loader.contract.responsedataclasses import DatasetTestResultPayload, LeapAnalysisConfiguration
|
|
@@ -335,6 +335,49 @@ class LeapBinder:
|
|
|
335
335
|
metric_handler_data = MetricHandlerData(name, regular_arg_names, direction, compute_insights)
|
|
336
336
|
self.setup_container.metrics.append(MetricHandler(metric_handler_data, function))
|
|
337
337
|
|
|
338
|
+
def add_custom_instance_metric(self,
|
|
339
|
+
function: Union[CustomCallableInterfaceMultiArgs,
|
|
340
|
+
CustomMultipleReturnCallableInterfaceMultiArgs,
|
|
341
|
+
ConfusionMatrixCallableInterfaceMultiArgs],
|
|
342
|
+
name: str,
|
|
343
|
+
direction: Optional[
|
|
344
|
+
Union[MetricDirection, Dict[str, MetricDirection]]] = MetricDirection.Downward,
|
|
345
|
+
compute_insights: Optional[Union[bool, Dict[str, bool]]] = None) -> None:
|
|
346
|
+
"""
|
|
347
|
+
Add a custom metric to the setup.
|
|
348
|
+
|
|
349
|
+
Args:
|
|
350
|
+
function (Union[CustomCallableInterfaceMultiArgs, CustomMultipleReturnCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs]): The custom metric function.
|
|
351
|
+
name (str): The name of the custom metric.
|
|
352
|
+
direction (Optional[Union[MetricDirection, Dict[str, MetricDirection]]]): The direction of the metric, either
|
|
353
|
+
MetricDirection.Upward or MetricDirection.Downward, in case custom metric return a dictionary of metrics we can
|
|
354
|
+
supply a dictionary of directions correspondingly.
|
|
355
|
+
- MetricDirection.Upward: Indicates that higher values of the metric are better and should be maximized.
|
|
356
|
+
- MetricDirection.Downward: Indicates that lower values of the metric are better and should be minimized.
|
|
357
|
+
compute_insights (Union[bool, Dict[str, bool]]): Whether to compute insights or not. in case custom metric
|
|
358
|
+
return a dictionary of metrics we can supply a dictionary of values correspondingly
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
Example:
|
|
363
|
+
def custom_metric_function(y_true, y_pred):
|
|
364
|
+
return np.mean(np.abs(y_true - y_pred))
|
|
365
|
+
|
|
366
|
+
leap_binder.add_custom_metric(custom_metric_function, name='custom_metric', direction=MetricDirection.Downward)
|
|
367
|
+
"""
|
|
368
|
+
|
|
369
|
+
regular_arg_names = inspect.getfullargspec(function)[0]
|
|
370
|
+
preprocess_response_arg_name = None
|
|
371
|
+
for arg_name, arg_type in inspect.getfullargspec(function).annotations.items():
|
|
372
|
+
if arg_type == SamplePreprocessResponse:
|
|
373
|
+
if preprocess_response_arg_name is not None:
|
|
374
|
+
raise Exception("only one argument can be of type SamplePreprocessResponse")
|
|
375
|
+
preprocess_response_arg_name = arg_name
|
|
376
|
+
regular_arg_names.remove(arg_name)
|
|
377
|
+
|
|
378
|
+
metric_handler_data = MetricHandlerData(name, regular_arg_names, direction, compute_insights)
|
|
379
|
+
self.setup_container.instance_metrics.append(InstanceMetricHandler(metric_handler_data, function))
|
|
380
|
+
|
|
338
381
|
def add_prediction(self, name: str, labels: List[str], channel_dim: int = -1, prediction_index: Optional[int]=None) -> None:
|
|
339
382
|
"""
|
|
340
383
|
Add prediction labels to the setup.
|
|
@@ -1037,7 +1037,7 @@ def tensorleap_custom_instances_metric(name: str,
|
|
|
1037
1037
|
except (TypeError, ValueError):
|
|
1038
1038
|
pass
|
|
1039
1039
|
|
|
1040
|
-
leap_binder.
|
|
1040
|
+
leap_binder.add_custom_instance_metric(inner_without_validate, name, direction, compute_insights)
|
|
1041
1041
|
|
|
1042
1042
|
if connects_to is not None:
|
|
1043
1043
|
arg_names = leap_binder.setup_container.metrics[-1].metric_handler_data.arg_names
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/datasetclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/responsedataclasses.py
RENAMED
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/contract/visualizer_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/experiment_api/cli_config_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/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.174.dev2 → code_loader-1.0.174.dev4}/code_loader/inner_leap_binder/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/plot_functions/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/plot_functions/visualize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.174.dev2 → code_loader-1.0.174.dev4}/code_loader/visualizers/default_visualizers.py
RENAMED
|
File without changes
|