Skip to content

Commit d725599

Browse files
authored
Merge pull request #3038 from activeloopai/add_exception
added exception if class_names are empty
2 parents 0af67e2 + a050468 commit d725599

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

deeplake/integrations/mmlab/segmentation/mmseg_.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
from mmengine.utils import digit_version # type: ignore
3737
from mmengine.runner.utils import _get_batch_size # type: ignore
3838
from deeplake.enterprise.dataloader import DeepLakeDataLoader
39+
from deeplake.util.exceptions import ClassNamesEmptyError
3940

4041
_original_build_dataloader = Runner.build_dataloader
4142

@@ -183,6 +184,8 @@ def build_dataloader(
183184
masks_tensor = dataset.masks_tensor
184185
classes = deeplake_ds[masks_tensor].info.class_names
185186
dataset.CLASSES = classes
187+
if not classes or not len(classes):
188+
raise ClassNamesEmptyError(masks_tensor)
186189

187190
num_workers = dataloader_cfg.get("num_workers", 0)
188191
batch_size = dataloader_cfg.get("batch_size", 1)
@@ -199,7 +202,7 @@ def build_dataloader(
199202
)
200203

201204
loader = (
202-
deeplake_ds.dataloader()
205+
deeplake_ds.dataloader(ignore_errors=True)
203206
.transform(transform_fn)
204207
.shuffle(shuffle)
205208
.batch(batch_size=batch_size, drop_last=drop_last)

deeplake/util/exceptions.py

+5
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ def __init__(self):
167167
)
168168

169169

170+
class ClassNamesEmptyError(Exception):
171+
def __init__(self, tensor_name: str):
172+
super().__init__(f"The class_names of the tensor `{tensor_name}` are empty")
173+
174+
170175
class DirectoryAtPathException(Exception):
171176
def __init__(self):
172177
super().__init__(

0 commit comments

Comments
 (0)