code-loader 1.0.135__tar.gz → 1.0.136__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.

Potentially problematic release.


This version of code-loader might be problematic. Click here for more details.

Files changed (36) hide show
  1. {code_loader-1.0.135 → code_loader-1.0.136}/PKG-INFO +1 -1
  2. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/inner_leap_binder/leapbinder_decorators.py +23 -3
  3. {code_loader-1.0.135 → code_loader-1.0.136}/pyproject.toml +1 -1
  4. {code_loader-1.0.135 → code_loader-1.0.136}/LICENSE +0 -0
  5. {code_loader-1.0.135 → code_loader-1.0.136}/README.md +0 -0
  6. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/__init__.py +0 -0
  7. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/__init__.py +0 -0
  8. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/datasetclasses.py +0 -0
  9. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/enums.py +0 -0
  10. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/exceptions.py +0 -0
  11. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/mapping.py +0 -0
  12. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/responsedataclasses.py +0 -0
  13. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/contract/visualizer_classes.py +0 -0
  14. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/default_losses.py +0 -0
  15. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/default_metrics.py +0 -0
  16. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/__init__.py +0 -0
  17. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/api.py +0 -0
  18. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/cli_config_utils.py +0 -0
  19. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/client.py +0 -0
  20. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/epoch.py +0 -0
  21. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/experiment.py +0 -0
  22. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/experiment_context.py +0 -0
  23. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/types.py +0 -0
  24. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/utils.py +0 -0
  25. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  26. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/inner_leap_binder/__init__.py +0 -0
  27. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  28. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/leaploader.py +0 -0
  29. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/leaploaderbase.py +0 -0
  30. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/mixpanel_tracker.py +0 -0
  31. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/plot_functions/__init__.py +0 -0
  32. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/plot_functions/plot_functions.py +0 -0
  33. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/plot_functions/visualize.py +0 -0
  34. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/utils.py +0 -0
  35. {code_loader-1.0.135 → code_loader-1.0.136}/code_loader/visualizers/__init__.py +0 -0
  36. {code_loader-1.0.135 → code_loader-1.0.136}/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.135
3
+ Version: 1.0.136
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -1,5 +1,6 @@
1
1
  # mypy: ignore-errors
2
2
  import os
3
+ from collections import defaultdict
3
4
  from functools import lru_cache
4
5
  from typing import Optional, Union, Callable, List, Dict
5
6
 
@@ -232,9 +233,11 @@ def tensorleap_custom_metric(name: str,
232
233
  direction: Union[MetricDirection, Dict[str, MetricDirection]] = MetricDirection.Downward,
233
234
  compute_insights: Optional[Union[bool, Dict[str, bool]]] = None,
234
235
  connects_to=None):
235
- def decorating_function(user_function: Union[CustomCallableInterfaceMultiArgs,
236
- CustomMultipleReturnCallableInterfaceMultiArgs,
237
- ConfusionMatrixCallableInterfaceMultiArgs]):
236
+ name_to_unique_name = defaultdict(set)
237
+
238
+ def decorating_function(
239
+ user_function: Union[CustomCallableInterfaceMultiArgs, CustomMultipleReturnCallableInterfaceMultiArgs,
240
+ ConfusionMatrixCallableInterfaceMultiArgs]):
238
241
  for metric_handler in leap_binder.setup_container.metrics:
239
242
  if metric_handler.metric_handler_data.name == name:
240
243
  raise Exception(f'Metric with name {name} already exists. '
@@ -354,6 +357,11 @@ def tensorleap_custom_metric(name: str,
354
357
 
355
358
  ordered_connections = [kwargs[n] for n in mapping_inner.arg_names if n in kwargs]
356
359
  ordered_connections = list(args) + ordered_connections
360
+
361
+ if user_unique_name in name_to_unique_name[mapping_inner.name]:
362
+ user_unique_name = f'{user_unique_name}_{len(name_to_unique_name[mapping_inner.name])}'
363
+ name_to_unique_name[mapping_inner.name].add(user_unique_name)
364
+
357
365
  _add_mapping_connection(user_unique_name, ordered_connections, mapping_inner.arg_names,
358
366
  mapping_inner.name, NodeMappingType.Metric)
359
367
 
@@ -376,6 +384,8 @@ def tensorleap_custom_metric(name: str,
376
384
  def tensorleap_custom_visualizer(name: str, visualizer_type: LeapDataType,
377
385
  heatmap_function: Optional[Callable[..., npt.NDArray[np.float32]]] = None,
378
386
  connects_to=None):
387
+ name_to_unique_name = defaultdict(set)
388
+
379
389
  def decorating_function(user_function: VisualizerCallableInterface):
380
390
  for viz_handler in leap_binder.setup_container.visualizers:
381
391
  if viz_handler.visualizer_handler_data.name == name:
@@ -452,6 +462,10 @@ def tensorleap_custom_visualizer(name: str, visualizer_type: LeapDataType,
452
462
  if 'user_unique_name' in kwargs:
453
463
  user_unique_name = kwargs['user_unique_name']
454
464
 
465
+ if user_unique_name in name_to_unique_name[mapping_inner.name]:
466
+ user_unique_name = f'{user_unique_name}_{len(name_to_unique_name[mapping_inner.name])}'
467
+ name_to_unique_name[mapping_inner.name].add(user_unique_name)
468
+
455
469
  ordered_connections = [kwargs[n] for n in mapping_inner.arg_names if n in kwargs]
456
470
  ordered_connections = list(args) + ordered_connections
457
471
  _add_mapping_connection(user_unique_name, ordered_connections, mapping_inner.arg_names,
@@ -974,6 +988,8 @@ def tensorleap_gt_encoder(name: str):
974
988
 
975
989
 
976
990
  def tensorleap_custom_loss(name: str, connects_to=None):
991
+ name_to_unique_name = defaultdict(set)
992
+
977
993
  def decorating_function(user_function: CustomCallableInterface):
978
994
  for loss_handler in leap_binder.setup_container.custom_loss_handlers:
979
995
  if loss_handler.custom_loss_handler_data.name == name:
@@ -1042,6 +1058,10 @@ def tensorleap_custom_loss(name: str, connects_to=None):
1042
1058
  if 'user_unique_name' in kwargs:
1043
1059
  user_unique_name = kwargs['user_unique_name']
1044
1060
 
1061
+ if user_unique_name in name_to_unique_name[mapping_inner.name]:
1062
+ user_unique_name = f'{user_unique_name}_{len(name_to_unique_name[mapping_inner.name])}'
1063
+ name_to_unique_name[mapping_inner.name].add(user_unique_name)
1064
+
1045
1065
  ordered_connections = [kwargs[n] for n in mapping_inner.arg_names if n in kwargs]
1046
1066
  ordered_connections = list(args) + ordered_connections
1047
1067
  _add_mapping_connection(user_unique_name, ordered_connections, mapping_inner.arg_names,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.135"
3
+ version = "1.0.136"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"
File without changes
File without changes