code-loader 1.0.81a0__tar.gz → 1.0.83__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.81a0 → code_loader-1.0.83}/PKG-INFO +1 -1
  2. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/contract/enums.py +1 -0
  3. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/contract/visualizer_classes.py +25 -0
  4. {code_loader-1.0.81a0 → code_loader-1.0.83}/pyproject.toml +1 -1
  5. {code_loader-1.0.81a0 → code_loader-1.0.83}/LICENSE +0 -0
  6. {code_loader-1.0.81a0 → code_loader-1.0.83}/README.md +0 -0
  7. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/__init__.py +0 -0
  8. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/contract/__init__.py +0 -0
  9. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/contract/datasetclasses.py +0 -0
  10. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/contract/exceptions.py +0 -0
  11. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/contract/responsedataclasses.py +0 -0
  12. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/default_losses.py +0 -0
  13. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/default_metrics.py +0 -0
  14. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/__init__.py +0 -0
  15. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/api.py +0 -0
  16. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/cli_config_utils.py +0 -0
  17. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/client.py +0 -0
  18. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/epoch.py +0 -0
  19. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/experiment.py +0 -0
  20. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/experiment_context.py +0 -0
  21. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/types.py +0 -0
  22. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/utils.py +0 -0
  23. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
  24. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/inner_leap_binder/__init__.py +0 -0
  25. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/inner_leap_binder/leapbinder.py +0 -0
  26. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -0
  27. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/leaploader.py +0 -0
  28. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/leaploaderbase.py +0 -0
  29. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/utils.py +0 -0
  30. {code_loader-1.0.81a0 → code_loader-1.0.83}/code_loader/visualizers/__init__.py +0 -0
  31. {code_loader-1.0.81a0 → code_loader-1.0.83}/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.81a0
3
+ Version: 1.0.83
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/code-loader
6
6
  License: MIT
@@ -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,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "code-loader"
3
- version = "1.0.81a0"
3
+ version = "1.0.83"
4
4
  description = ""
5
5
  authors = ["dorhar <doron.harnoy@tensorleap.ai>"]
6
6
  license = "MIT"
File without changes
File without changes