code-loader 1.0.81__tar.gz → 1.0.82__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 (31) hide show
  1. {code_loader-1.0.81 → code_loader-1.0.82}/PKG-INFO +3 -3
  2. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/contract/enums.py +1 -0
  3. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/contract/visualizer_classes.py +25 -0
  4. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/leaploader.py +1 -1
  5. {code_loader-1.0.81 → code_loader-1.0.82}/pyproject.toml +1 -1
  6. {code_loader-1.0.81 → code_loader-1.0.82}/LICENSE +0 -0
  7. {code_loader-1.0.81 → code_loader-1.0.82}/README.md +0 -0
  8. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/__init__.py +0 -0
  9. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/contract/__init__.py +0 -0
  10. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/contract/datasetclasses.py +0 -0
  11. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/contract/exceptions.py +0 -0
  12. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/contract/responsedataclasses.py +0 -0
  13. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/default_losses.py +0 -0
  14. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/default_metrics.py +0 -0
  15. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/__init__.py +0 -0
  16. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/api.py +0 -0
  17. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/cli_config_utils.py +0 -0
  18. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/client.py +0 -0
  19. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/epoch.py +0 -0
  20. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/experiment.py +0 -0
  21. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/experiment_context.py +0 -0
  22. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/types.py +0 -0
  23. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/utils.py +0 -0
  24. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  25. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/inner_leap_binder/__init__.py +0 -0
  26. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  27. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
  28. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/leaploaderbase.py +0 -0
  29. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/utils.py +0 -0
  30. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/visualizers/__init__.py +0 -0
  31. {code_loader-1.0.81 → code_loader-1.0.82}/code_loader/visualizers/default_visualizers.py +0 -0
@@ -1,8 +1,7 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: code-loader
3
- Version: 1.0.81
3
+ Version: 1.0.82
4
4
  Summary:
5
- Home-page: https://github.com/tensorleap/code-loader
6
5
  License: MIT
7
6
  Author: dorhar
8
7
  Author-email: doron.harnoy@tensorleap.ai
@@ -17,6 +16,7 @@ Requires-Dist: numpy (>=1.22.3,<2.0.0)
17
16
  Requires-Dist: psutil (>=5.9.5,<6.0.0)
18
17
  Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
19
18
  Requires-Dist: requests (>=2.32.3,<3.0.0)
19
+ Project-URL: Homepage, https://github.com/tensorleap/code-loader
20
20
  Project-URL: Repository, https://github.com/tensorleap/code-loader
21
21
  Description-Content-Type: text/markdown
22
22
 
@@ -27,6 +27,7 @@ class LeapDataType(Enum):
27
27
  TextMask = 'TextMask'
28
28
  ImageWithBBox = 'ImageWithBBox'
29
29
  ImageWithHeatmap = 'ImageWithHeatmap'
30
+ Video = 'Video'
30
31
 
31
32
 
32
33
  class MetricDirection(Enum):
@@ -53,6 +53,30 @@ class LeapImage:
53
53
  validate_type(type(self.compress), bool, 'compress flag must be a boolean')
54
54
 
55
55
 
56
+ @dataclass
57
+ class LeapVideo:
58
+ """
59
+ Visualizer representing a video for Tensorleap.
60
+
61
+ Attributes:
62
+ data (npt.NDArray[np.float32] | npt.NDArray[np.uint8]): The video data, shaped [T, H, W, C], where T is the number of frames.
63
+ type (LeapDataType): The data type, default is LeapDataType.Video.
64
+
65
+ Example:
66
+ video_data = np.random.rand(10, 100, 100, 3).astype(np.float32)
67
+ leap_video = LeapVideo(data=video_data)
68
+ """
69
+ data: Union[npt.NDArray[np.float32], npt.NDArray[np.uint8]]
70
+ type: LeapDataType = LeapDataType.Video
71
+
72
+ def __post_init__(self) -> None:
73
+ validate_type(self.type, LeapDataType.Video)
74
+ validate_type(type(self.data), np.ndarray)
75
+ validate_type(self.data.dtype, [np.uint8, np.float32])
76
+ validate_type(len(self.data.shape), 4, 'Video must be of shape 4')
77
+ validate_type(self.data.shape[3], [1, 3], 'Video channel must be either 3(rgb) or 1(gray)')
78
+
79
+
56
80
  @dataclass
57
81
  class LeapImageWithBBox:
58
82
  """
@@ -308,6 +332,7 @@ class LeapImageWithHeatmap:
308
332
  map_leap_data_type_to_visualizer_class = {
309
333
  LeapDataType.Image.value: LeapImage,
310
334
  LeapDataType.Graph.value: LeapGraph,
335
+ LeapDataType.Video.value: LeapVideo,
311
336
  LeapDataType.Text.value: LeapText,
312
337
  LeapDataType.HorizontalBar.value: LeapHorizontalBar,
313
338
  LeapDataType.ImageMask.value: LeapImageMask,
@@ -462,7 +462,7 @@ class LeapLoader(LeapLoaderBase):
462
462
 
463
463
  try:
464
464
  is_none = False
465
- if value is None or (isinstance(value, (int, float, np.integer, np.floating)) and not np.isfinite(value)):
465
+ if value is None:
466
466
  raise ValueError()
467
467
  converted_value = metadata_type_to_python_type[metadata_name_to_type[metadata_name]](value)
468
468
  except ValueError:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.81"
3
+ version = "1.0.82"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"
File without changes
File without changes