From d22dece10ac66cae81d730b4154884b4909f0102 Mon Sep 17 00:00:00 2001
From: Philip Abbet <philip.abbet@idiap.ch>
Date: Fri, 22 Dec 2023 13:25:44 +0100
Subject: [PATCH] [data/augmentations] Use the 'spawn' multiprocessing start
 method on all platforms

---
 src/ptbench/data/augmentations.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/ptbench/data/augmentations.py b/src/ptbench/data/augmentations.py
index 1f4adc60..a104ec4a 100644
--- a/src/ptbench/data/augmentations.py
+++ b/src/ptbench/data/augmentations.py
@@ -287,7 +287,7 @@ class ElasticDeformation:
             logger.info(
                 f"Applying data-augmentation using {instances} processes..."
             )
-            self._mp_pool = multiprocessing.pool.Pool(instances)
+            self._mp_pool = multiprocessing.get_context("spawn").Pool(instances)
         else:
             self._mp_pool = None
 
@@ -296,7 +296,9 @@ class ElasticDeformation:
             if self._mp_pool is None and self._parallel == -2:
                 # auto-tunning on first batch
                 instances = min(img.shape[0], multiprocessing.cpu_count())
-                self._mp_pool = multiprocessing.pool.Pool(instances)
+                self._mp_pool = multiprocessing.get_context("spawn").Pool(
+                    instances
+                )
 
             return _elastic_deformation_on_batch(
                 img,
-- 
GitLab