From f01901dd0b7c0130f0e4ffda9664e6bf8f5c9bf0 Mon Sep 17 00:00:00 2001 From: zubovy Date: Tue, 29 Jul 2025 15:51:48 -0400 Subject: [PATCH 1/2] Daisy task scheduler configs --- cellmap_flow/blockwise/blockwise_processor.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cellmap_flow/blockwise/blockwise_processor.py b/cellmap_flow/blockwise/blockwise_processor.py index 87b6fd6..0c869bb 100644 --- a/cellmap_flow/blockwise/blockwise_processor.py +++ b/cellmap_flow/blockwise/blockwise_processor.py @@ -217,8 +217,8 @@ def run(self): ), read_write_conflict=True, fit="overhang", - max_retries=0, - timeout=None, + max_retries=2, + timeout=1800, num_workers=self.workers, ) From 077caa9b7158f7ee5e8e7b9f9299ab0c26ebfb4e Mon Sep 17 00:00:00 2001 From: zubovy Date: Thu, 31 Jul 2025 01:25:06 -0400 Subject: [PATCH 2/2] avo id computing inference if chunk is not empty --- cellmap_flow/blockwise/blockwise_processor.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cellmap_flow/blockwise/blockwise_processor.py b/cellmap_flow/blockwise/blockwise_processor.py index 0c869bb..f1c6dc4 100644 --- a/cellmap_flow/blockwise/blockwise_processor.py +++ b/cellmap_flow/blockwise/blockwise_processor.py @@ -152,13 +152,15 @@ def process_fn(self, block): print(f"empty write roi: {write_roi}") return + # Check if block is already processed before expensive inference computation + fill_value = getattr(self.output_arrays[0], 'fill_value', self.dtype(0)) + if not (self.output_arrays[0][write_roi] == fill_value).all(): + return + chunk_data = self.inferencer.process_chunk(self.idi_raw, block.write_roi) chunk_data = chunk_data.astype(self.dtype) - if self.output_arrays[0][block.write_roi].any(): - return - for i, array in enumerate(self.output_arrays): if chunk_data.shape == 3: