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.
Files changed (36) hide show
  1. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/PKG-INFO +1 -1
  2. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/leapbinder_decorators.py +32 -33
  3. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/pyproject.toml +1 -1
  4. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/LICENSE +0 -0
  5. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/README.md +0 -0
  6. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/__init__.py +0 -0
  7. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/__init__.py +0 -0
  8. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/datasetclasses.py +0 -0
  9. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/enums.py +0 -0
  10. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/exceptions.py +0 -0
  11. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/mapping.py +0 -0
  12. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/responsedataclasses.py +0 -0
  13. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/contract/visualizer_classes.py +0 -0
  14. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/default_losses.py +0 -0
  15. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/default_metrics.py +0 -0
  16. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/__init__.py +0 -0
  17. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/api.py +0 -0
  18. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/cli_config_utils.py +0 -0
  19. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/client.py +0 -0
  20. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/epoch.py +0 -0
  21. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/experiment.py +0 -0
  22. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/experiment_context.py +0 -0
  23. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/types.py +0 -0
  24. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/utils.py +0 -0
  25. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  26. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/__init__.py +0 -0
  27. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  28. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/leaploader.py +0 -0
  29. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/leaploaderbase.py +0 -0
  30. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/mixpanel_tracker.py +0 -0
  31. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/__init__.py +0 -0
  32. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/plot_functions.py +0 -0
  33. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/plot_functions/visualize.py +0 -0
  34. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/utils.py +0 -0
  35. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/visualizers/__init__.py +0 -0
  36. {code_loader-1.0.165.dev2 → code_loader-1.0.165.dev4}/code_loader/visualizers/default_visualizers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: code-loader
3
- Version: 1.0.165.dev2
3
+ Version: 1.0.165.dev4
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -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 is not None:
692
- assert isinstance(compute_insights, dict), \
693
- (f'{user_function.__name__}() validation failed: '
694
- f'compute_insights should be dict if using the dict results. Got {type(compute_insights)}.') #TODO - remove this assertion so a single value would controll all compute_insights
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
- assert isinstance(compute_insights, bool), \
726
- (f'{user_function.__name__}() validation failed: '
727
- f'compute_insights should be boolean. Got {type(compute_insights)}.')
728
- if direction is not _UNSET:
729
- assert isinstance(direction, MetricDirection), \
730
- (f'{user_function.__name__}() validation failed: '
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
- else:
734
- direction = MetricDirection.Downward
735
- leap_binder.setup_container.metrics[-1].metric_handler_data.direction = direction
736
- if not _call_from_tl_platform and compute_insights is not False:
737
- store_warning_by_param(
738
- param_name="direction",
739
- user_func_name=user_function.__name__,
740
- default_value=direction,
741
- link_to_docs="https://docs.tensorleap.ai/tensorleap-integration/writing-integration-code/custom-metrics"
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):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.165.dev2"
3
+ version = "1.0.165.dev4"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"