Skip to content

Commit 0fff91e

Browse files
committed
Add Tensorboard as dependency
1 parent d1bc83b commit 0fff91e

File tree

5 files changed

+11
-31
lines changed

5 files changed

+11
-31
lines changed

lib/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ dependencies = [
5151
"nncf==2.17.0",
5252
"anomalib[core]==1.1.3",
5353
"numpy<2.0.0",
54+
"tensorboardX>=1.8",
5455
]
5556

5657
[project.optional-dependencies]

lib/src/otx/data/dataset/detection_new.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ def __init__(self, dm_subset: Dataset, **kwargs) -> None:
2525
Args:
2626
**kwargs: Keyword arguments to pass to OTXDataset
2727
"""
28-
kwargs["sample_type"] = DetectionSample
29-
super().__init__(dm_subset, **kwargs)
28+
sample_type = DetectionSample
29+
dm_subset = dm_subset.convert_to_schema(sample_type)
30+
super().__init__(dm_subset=dm_subset, sample_type=sample_type, **kwargs)
3031

3132
labels = dm_subset.schema.attributes["label"].categories.labels
3233
self.label_info = LabelInfo(

lib/src/otx/data/dataset/segmentation_new.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ class OTXSegmentationDataset(OTXDataset):
2020

2121
def __init__(self, dm_subset: Dataset, **kwargs) -> None:
2222
sample_type = SegmentationSample
23-
super().__init__(dm_subset=dm_subset, sample_type=sample_type, **kwargs)
2423
dm_subset = dm_subset.convert_to_schema(sample_type)
24+
super().__init__(dm_subset=dm_subset, sample_type=sample_type, **kwargs)
2525

2626
labels = dm_subset.schema.attributes["masks"].categories.labels
2727
self.label_info = SegLabelInfo(

lib/src/otx/data/entity/sample.py

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -131,23 +131,8 @@ class DetectionSample(OTXSample):
131131
"""DetectionSample is a base class for OTX detection items."""
132132

133133
image: np.ndarray | tv_tensors.Image = image_field(dtype=pl.UInt8)
134-
label: torch.Tensor = label_field(pl.Int32(), is_list=True)
135-
bboxes: torch.Tensor = bbox_field(dtype=pl.Float32)
136-
137-
@classmethod
138-
def from_dm_item(cls, item: DatasetItem) -> DetectionSample:
139-
"""Create a DetectionSample from a Datumaro DatasetItem.
140-
141-
Args:
142-
item: Datumaro DatasetItem containing image and label
143-
144-
Returns:
145-
DetectionSample: Instance with image and label set
146-
"""
147-
image = item.media_as(Image).data
148-
bboxes = [bbox.points for bbox in item.annotations] if item.annotations else None
149-
labels = [bbox.label for bbox in item.annotations] if item.annotations else None
150-
return cls(image=image, label=labels, bboxes=bboxes)
134+
label: np.ndarray | torch.Tensor = label_field(pl.Int32(), is_list=True)
135+
bboxes: np.ndarray | tv_tensors.BoundingBoxes = bbox_field(dtype=pl.Float32)
151136

152137
def __post_init__(self) -> None:
153138
shape = self.image.shape[:2]

lib/src/otx/data/factory.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -103,18 +103,11 @@ def create(
103103
return OTXHlabelClsDataset(**common_kwargs)
104104

105105
if task == OTXTaskType.DETECTION:
106-
from .dataset.detection_new import DetectionSample, OTXDetectionDataset
106+
from .dataset.detection_new import OTXDetectionDataset
107+
108+
dataset = convert_from_legacy(dm_subset)
109+
common_kwargs["dm_subset"] = dataset
107110

108-
if isinstance(dm_subset, DmDataset):
109-
categories = cls._get_label_categories(dm_subset, data_format)
110-
dataset = DatasetNew(DetectionSample, categories={"label": categories})
111-
for item in dm_subset:
112-
if len(item.media.data.shape) == 3:
113-
dataset.append(DetectionSample.from_dm_item(item))
114-
common_kwargs["dm_subset"] = dataset
115-
else:
116-
msg = "Dataset must be of type DmDataset."
117-
raise RuntimeError(msg)
118111
return OTXDetectionDataset(**common_kwargs)
119112

120113
if task in [OTXTaskType.ROTATED_DETECTION, OTXTaskType.INSTANCE_SEGMENTATION]:

0 commit comments

Comments
 (0)