code-loader 1.0.165.dev2__tar.gz → 1.0.165.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.165.dev2 → code_loader-1.0.165.dev4}/PKG-INFO +1 -1
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/leapbinder_decorators.py +32 -33
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/pyproject.toml +1 -1
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/LICENSE +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/README.md +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/__init__.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/datasetclasses.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/enums.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/mapping.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/responsedataclasses.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/leapbinder.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/leaploader.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/leaploaderbase.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/mixpanel_tracker.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/plot_functions.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/utils.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -678,28 +678,19 @@ def tensorleap_custom_metric(name: str,
|
|
|
678
678
|
(f'{user_function.__name__}() validation failed: '
|
|
679
679
|
f'Keys in the return dict should be of type str. Got {type(key)}.')
|
|
680
680
|
|
|
681
|
-
assert direction is _UNSET or isinstance(direction, dict), \
|
|
682
|
-
(f'{user_function.__name__}() validation failed: '
|
|
683
|
-
f'direction should be a dict when using dict results. Got {type(direction)}.') #TODO - remove this assertion so a single value would controll all directions
|
|
684
|
-
|
|
685
681
|
if isinstance(direction, dict):
|
|
686
682
|
for direction_key in direction:
|
|
687
683
|
assert direction_key in result, \
|
|
688
684
|
(f'{user_function.__name__}() validation failed: '
|
|
689
685
|
f'Keys in the direction mapping should be part of result keys. Got key {direction_key}.')
|
|
690
686
|
|
|
691
|
-
if compute_insights
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
if isinstance(compute_insights, dict):
|
|
697
|
-
for ci_key in compute_insights:
|
|
698
|
-
assert ci_key in result, \
|
|
699
|
-
(f'{user_function.__name__}() validation failed: '
|
|
700
|
-
f'Keys in the compute_insights mapping should be part of result keys. Got key {ci_key}.')
|
|
687
|
+
if isinstance(compute_insights, dict):
|
|
688
|
+
for ci_key in compute_insights:
|
|
689
|
+
assert ci_key in result, \
|
|
690
|
+
(f'{user_function.__name__}() validation failed: '
|
|
691
|
+
f'Keys in the compute_insights mapping should be part of result keys. Got key {ci_key}.')
|
|
701
692
|
|
|
702
|
-
effective_direction = {} if direction is _UNSET else direction
|
|
693
|
+
effective_direction = {} if direction is _UNSET else direction if isinstance(direction, dict) else {k:direction for k in result_keys}
|
|
703
694
|
defaulted_direction_keys = result_keys.difference(effective_direction.keys())
|
|
704
695
|
|
|
705
696
|
if defaulted_direction_keys:
|
|
@@ -721,25 +712,33 @@ def tensorleap_custom_metric(name: str,
|
|
|
721
712
|
else:
|
|
722
713
|
_validate_single_metric(result)
|
|
723
714
|
|
|
724
|
-
if compute_insights is not None:
|
|
725
|
-
|
|
726
|
-
(f'{user_function.__name__}()
|
|
727
|
-
f'compute_insights should be boolean
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
f'direction should be a MetricDirection when using a single result. Got {type(direction)}.')
|
|
715
|
+
if compute_insights is not None and not isinstance(compute_insights, bool):
|
|
716
|
+
warnings.warn(
|
|
717
|
+
(f'{user_function.__name__}() unclear intention: '
|
|
718
|
+
f'compute_insights should be boolean when using a single result. '
|
|
719
|
+
f'Got {type(compute_insights)}. reverting to default behavior compute_insights={True}'),
|
|
720
|
+
UserWarning
|
|
721
|
+
)
|
|
732
722
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
723
|
+
if direction is not _UNSET and not isinstance(direction, MetricDirection):
|
|
724
|
+
warnings.warn(
|
|
725
|
+
(f'{user_function.__name__}() unclear intention: '
|
|
726
|
+
f'direction should be a MetricDirection when using a single result. '
|
|
727
|
+
f'Got {type(direction)}. reverting to default behavior {MetricDirection.Downward}.'),
|
|
728
|
+
UserWarning
|
|
729
|
+
)
|
|
730
|
+
direction=MetricDirection.Downward
|
|
731
|
+
|
|
732
|
+
if not _call_from_tl_platform and compute_insights is not False and direction is _UNSET:
|
|
733
|
+
store_warning_by_param(
|
|
734
|
+
param_name="direction",
|
|
735
|
+
user_func_name=user_function.__name__,
|
|
736
|
+
default_value=MetricDirection.Downward,
|
|
737
|
+
link_to_docs="https://docs.tensorleap.ai/tensorleap-integration/writing-integration-code/custom-metrics"
|
|
738
|
+
)
|
|
739
|
+
direction=MetricDirection.Downward
|
|
740
|
+
|
|
741
|
+
leap_binder.setup_container.metrics[-1].metric_handler_data.direction = direction
|
|
743
742
|
|
|
744
743
|
@functools.wraps(user_function)
|
|
745
744
|
def inner_without_validate(*args, **kwargs):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/datasetclasses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/responsedataclasses.py
RENAMED
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/visualizer_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/cli_config_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.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.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/__init__.py
RENAMED
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/plot_functions.py
RENAMED
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/visualize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/visualizers/default_visualizers.py
RENAMED
|
File without changes
|