Skip to content

Commit e6ec945

Browse files
authored
Fixes ensembling with sigmoid (#6588)
Proper ensembling when trained with a sigmoid (overlapping classes) in Auto3dseg. --------- Signed-off-by: myron <[email protected]>
1 parent 52b3ed2 commit e6ec945

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

monai/apps/auto3dseg/auto_runner.py

+3
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,9 @@ def __init__(
292292
self.search_space: dict[str, dict[str, Any]] = {}
293293
self.hpo_tasks = 0
294294

295+
if "sigmoid" not in self.kwargs and "sigmoid" in self.data_src_cfg:
296+
self.kwargs["sigmoid"] = self.data_src_cfg["sigmoid"]
297+
295298
def read_cache(self):
296299
"""
297300
Check if the intermediate result is cached after each step in the current working directory

monai/apps/auto3dseg/ensemble_builder.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -586,14 +586,10 @@ def ensemble(self):
586586
if len(infer_files) == 0:
587587
logger.info("No testing files for inference is provided. Ensembler ending.")
588588
return
589-
infer_files = (
590-
partition_dataset(data=infer_files, shuffle=False, num_partitions=len(infer_files))[self.rank]
591-
if self.rank < len(infer_files)
592-
else []
593-
)
589+
infer_files = [infer_files[self.rank]] if self.rank < len(infer_files) else []
594590
else:
595591
infer_files = partition_dataset(
596-
data=infer_files, shuffle=False, num_partitions=self.world_size, even_divisible=True
592+
data=infer_files, shuffle=False, num_partitions=self.world_size, even_divisible=False
597593
)[self.rank]
598594

599595
# TO DO: Add some function in ensembler for infer_files update?

0 commit comments

Comments
 (0)