code-loader 1.0.61.dev8__tar.gz → 1.0.61.dev9__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 (30) hide show
  1. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/PKG-INFO +1 -1
  2. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/leaploader.py +14 -2
  3. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/leaploaderbase.py +5 -1
  4. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/pyproject.toml +1 -1
  5. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/LICENSE +0 -0
  6. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/README.md +0 -0
  7. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/__init__.py +0 -0
  8. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/code_inegration_processes_manager.py +0 -0
  9. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/contract/__init__.py +0 -0
  10. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/contract/datasetclasses.py +0 -0
  11. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/contract/enums.py +0 -0
  12. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/contract/exceptions.py +0 -0
  13. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/contract/responsedataclasses.py +0 -0
  14. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/contract/visualizer_classes.py +0 -0
  15. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/__init__.py +0 -0
  16. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/api.py +0 -0
  17. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/cli_config_utils.py +0 -0
  18. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/client.py +0 -0
  19. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/epoch.py +0 -0
  20. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/experiment.py +0 -0
  21. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/experiment_context.py +0 -0
  22. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/types.py +0 -0
  23. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/utils.py +0 -0
  24. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  25. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/inner_leap_binder/__init__.py +0 -0
  26. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  27. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
  28. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/utils.py +0 -0
  29. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/code_loader/visualizers/__init__.py +0 -0
  30. {code_loader-1.0.61.dev8 → code_loader-1.0.61.dev9}/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.61.dev8
3
+ Version: 1.0.61.dev9
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -1,11 +1,12 @@
1
1
  # mypy: ignore-errors
2
2
  import importlib.util
3
+ import inspect
3
4
  import io
4
5
  import sys
5
6
  from contextlib import redirect_stdout
6
7
  from functools import lru_cache
7
8
  from pathlib import Path
8
- from typing import Dict, List, Iterable, Union, Any, Type
9
+ from typing import Dict, List, Iterable, Union, Any, Type, Optional
9
10
 
10
11
  import numpy as np
11
12
  import numpy.typing as npt
@@ -13,7 +14,7 @@ import numpy.typing as npt
13
14
  from code_loader.contract.datasetclasses import DatasetSample, DatasetBaseHandler, GroundTruthHandler, \
14
15
  PreprocessResponse, VisualizerHandler, LeapData, \
15
16
  PredictionTypeHandler, MetadataHandler, CustomLayerHandler, MetricHandler, VisualizerHandlerData, MetricHandlerData, \
16
- MetricCallableReturnType, CustomLossHandlerData, CustomLossHandler
17
+ MetricCallableReturnType, CustomLossHandlerData, CustomLossHandler, RawInputsForHeatmap
17
18
  from code_loader.contract.enums import DataStateEnum, TestingSectionEnum, DataStateType, DatasetMetadataType
18
19
  from code_loader.contract.exceptions import DatasetScriptException
19
20
  from code_loader.contract.responsedataclasses import DatasetIntegParseResult, DatasetTestResultPayload, \
@@ -251,6 +252,16 @@ class LeapLoader(LeapLoaderBase):
251
252
  return list(input_tensors_by_arg_name.values())[0]
252
253
  return heatmap_function(**input_tensors_by_arg_name)
253
254
 
255
+ def get_heatmap_visualizer_raw_vis_input_arg_name(self, visualizer_name: str) -> Optional[str]:
256
+ heatmap_function = self._visualizer_handler_by_name()[visualizer_name].heatmap_function
257
+ if heatmap_function is None:
258
+ return None
259
+
260
+ for arg_name, arg_type in inspect.getfullargspec(heatmap_function).annotations.items():
261
+ if arg_type == RawInputsForHeatmap:
262
+ return arg_name
263
+ return None
264
+
254
265
  def get_dataset_setup_response(self, handlers_test_payloads: List[DatasetTestResultPayload]) -> DatasetSetup:
255
266
  setup = global_leap_binder.setup_container
256
267
  assert setup.preprocess is not None
@@ -429,3 +440,4 @@ class LeapLoader(LeapLoaderBase):
429
440
 
430
441
  return id_type
431
442
 
443
+
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import abstractmethod
4
4
 
5
- from typing import Dict, List, Union, Type
5
+ from typing import Dict, List, Union, Type, Optional
6
6
 
7
7
  import numpy as np
8
8
  import numpy.typing as npt
@@ -84,6 +84,10 @@ class LeapLoaderBase:
84
84
  def get_sample_id_type(self) -> Type:
85
85
  pass
86
86
 
87
+ @abstractmethod
88
+ def get_heatmap_visualizer_raw_vis_input_arg_name(self, visualizer_name: str) -> Optional[str]:
89
+ pass
90
+
87
91
  def is_custom_latent_space(self) -> bool:
88
92
  if not self.code_entry_name or not self.code_path:
89
93
  return False
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.61.dev8"
3
+ version = "1.0.61.dev9"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"