From 0ba35d8c1e4be9922f6631810e231245869bded1 Mon Sep 17 00:00:00 2001 From: dcarron <daniel.carron@idiap.ch> Date: Mon, 5 Jun 2023 14:45:26 +0200 Subject: [PATCH] Moved mc_ch configs to data --- pyproject.toml | 44 +++++----- .../configs/datasets/mc_ch/__init__.py | 86 ------------------- src/ptbench/configs/datasets/mc_ch/default.py | 9 -- src/ptbench/configs/datasets/mc_ch/fold_0.py | 10 --- .../configs/datasets/mc_ch/fold_0_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_1.py | 10 --- .../configs/datasets/mc_ch/fold_1_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_2.py | 10 --- .../configs/datasets/mc_ch/fold_2_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_3.py | 10 --- .../configs/datasets/mc_ch/fold_3_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_4.py | 10 --- .../configs/datasets/mc_ch/fold_4_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_5.py | 10 --- .../configs/datasets/mc_ch/fold_5_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_6.py | 10 --- .../configs/datasets/mc_ch/fold_6_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_7.py | 10 --- .../configs/datasets/mc_ch/fold_7_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_8.py | 10 --- .../configs/datasets/mc_ch/fold_8_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/fold_9.py | 10 --- .../configs/datasets/mc_ch/fold_9_rgb.py | 10 --- src/ptbench/configs/datasets/mc_ch/rgb.py | 9 -- src/ptbench/data/mc_ch/__init__.py | 3 + src/ptbench/data/mc_ch/default.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_0.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_0_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_1.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_1_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_2.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_2_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_3.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_3_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_4.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_4_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_5.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_5_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_6.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_6_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_7.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_7_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_8.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_8_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_9.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/fold_9_rgb.py | 84 ++++++++++++++++++ src/ptbench/data/mc_ch/rgb.py | 84 ++++++++++++++++++ 47 files changed, 1873 insertions(+), 326 deletions(-) delete mode 100644 src/ptbench/configs/datasets/mc_ch/__init__.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/default.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_0.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_0_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_1.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_1_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_2.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_2_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_3.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_3_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_4.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_4_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_5.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_5_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_6.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_6_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_7.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_7_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_8.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_8_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_9.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/fold_9_rgb.py delete mode 100644 src/ptbench/configs/datasets/mc_ch/rgb.py create mode 100644 src/ptbench/data/mc_ch/__init__.py create mode 100644 src/ptbench/data/mc_ch/default.py create mode 100644 src/ptbench/data/mc_ch/fold_0.py create mode 100644 src/ptbench/data/mc_ch/fold_0_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_1.py create mode 100644 src/ptbench/data/mc_ch/fold_1_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_2.py create mode 100644 src/ptbench/data/mc_ch/fold_2_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_3.py create mode 100644 src/ptbench/data/mc_ch/fold_3_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_4.py create mode 100644 src/ptbench/data/mc_ch/fold_4_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_5.py create mode 100644 src/ptbench/data/mc_ch/fold_5_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_6.py create mode 100644 src/ptbench/data/mc_ch/fold_6_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_7.py create mode 100644 src/ptbench/data/mc_ch/fold_7_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_8.py create mode 100644 src/ptbench/data/mc_ch/fold_8_rgb.py create mode 100644 src/ptbench/data/mc_ch/fold_9.py create mode 100644 src/ptbench/data/mc_ch/fold_9_rgb.py create mode 100644 src/ptbench/data/mc_ch/rgb.py diff --git a/pyproject.toml b/pyproject.toml index 8e237195..1c57f5c5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -257,28 +257,28 @@ tbx11k_simplified_v2_rs_f7 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.f tbx11k_simplified_v2_rs_f8 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_8" tbx11k_simplified_v2_rs_f9 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_9" # montgomery-shenzhen aggregated dataset -mc_ch = "ptbench.configs.datasets.mc_ch.default" -mc_ch_rgb = "ptbench.configs.datasets.mc_ch.rgb" -mc_ch_f0 = "ptbench.configs.datasets.mc_ch.fold_0" -mc_ch_f1 = "ptbench.configs.datasets.mc_ch.fold_1" -mc_ch_f2 = "ptbench.configs.datasets.mc_ch.fold_2" -mc_ch_f3 = "ptbench.configs.datasets.mc_ch.fold_3" -mc_ch_f4 = "ptbench.configs.datasets.mc_ch.fold_4" -mc_ch_f5 = "ptbench.configs.datasets.mc_ch.fold_5" -mc_ch_f6 = "ptbench.configs.datasets.mc_ch.fold_6" -mc_ch_f7 = "ptbench.configs.datasets.mc_ch.fold_7" -mc_ch_f8 = "ptbench.configs.datasets.mc_ch.fold_8" -mc_ch_f9 = "ptbench.configs.datasets.mc_ch.fold_9" -mc_ch_f0_rgb = "ptbench.configs.datasets.mc_ch.fold_0_rgb" -mc_ch_f1_rgb = "ptbench.configs.datasets.mc_ch.fold_1_rgb" -mc_ch_f2_rgb = "ptbench.configs.datasets.mc_ch.fold_2_rgb" -mc_ch_f3_rgb = "ptbench.configs.datasets.mc_ch.fold_3_rgb" -mc_ch_f4_rgb = "ptbench.configs.datasets.mc_ch.fold_4_rgb" -mc_ch_f5_rgb = "ptbench.configs.datasets.mc_ch.fold_5_rgb" -mc_ch_f6_rgb = "ptbench.configs.datasets.mc_ch.fold_6_rgb" -mc_ch_f7_rgb = "ptbench.configs.datasets.mc_ch.fold_7_rgb" -mc_ch_f8_rgb = "ptbench.configs.datasets.mc_ch.fold_8_rgb" -mc_ch_f9_rgb = "ptbench.configs.datasets.mc_ch.fold_9_rgb" +mc_ch = "ptbench.data.mc_ch.default" +mc_ch_rgb = "ptbench.data.mc_ch.rgb" +mc_ch_f0 = "ptbench.data.mc_ch.fold_0" +mc_ch_f1 = "ptbench.data.mc_ch.fold_1" +mc_ch_f2 = "ptbench.data.mc_ch.fold_2" +mc_ch_f3 = "ptbench.data.mc_ch.fold_3" +mc_ch_f4 = "ptbench.data.mc_ch.fold_4" +mc_ch_f5 = "ptbench.data.mc_ch.fold_5" +mc_ch_f6 = "ptbench.data.mc_ch.fold_6" +mc_ch_f7 = "ptbench.data.mc_ch.fold_7" +mc_ch_f8 = "ptbench.data.mc_ch.fold_8" +mc_ch_f9 = "ptbench.data.mc_ch.fold_9" +mc_ch_f0_rgb = "ptbench.data.mc_ch.fold_0_rgb" +mc_ch_f1_rgb = "ptbench.data.mc_ch.fold_1_rgb" +mc_ch_f2_rgb = "ptbench.data.mc_ch.fold_2_rgb" +mc_ch_f3_rgb = "ptbench.data.mc_ch.fold_3_rgb" +mc_ch_f4_rgb = "ptbench.data.mc_ch.fold_4_rgb" +mc_ch_f5_rgb = "ptbench.data.mc_ch.fold_5_rgb" +mc_ch_f6_rgb = "ptbench.data.mc_ch.fold_6_rgb" +mc_ch_f7_rgb = "ptbench.data.mc_ch.fold_7_rgb" +mc_ch_f8_rgb = "ptbench.data.mc_ch.fold_8_rgb" +mc_ch_f9_rgb = "ptbench.data.mc_ch.fold_9_rgb" # extended montgomery-shenzhen aggregated dataset # (with radiological signs) mc_ch_rs = "ptbench.configs.datasets.mc_ch_RS.default" diff --git a/src/ptbench/configs/datasets/mc_ch/__init__.py b/src/ptbench/configs/datasets/mc_ch/__init__.py deleted file mode 100644 index c5c6ed62..00000000 --- a/src/ptbench/configs/datasets/mc_ch/__init__.py +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -from torch.utils.data.dataset import ConcatDataset - - -def _maker(protocol): - if protocol == "default": - from ..montgomery import default as mc - from ..shenzhen import default as ch - elif protocol == "rgb": - from ..montgomery import rgb as mc - from ..shenzhen import rgb as ch - elif protocol == "fold_0": - from ..montgomery import fold_0 as mc - from ..shenzhen import fold_0 as ch - elif protocol == "fold_1": - from ..montgomery import fold_1 as mc - from ..shenzhen import fold_1 as ch - elif protocol == "fold_2": - from ..montgomery import fold_2 as mc - from ..shenzhen import fold_2 as ch - elif protocol == "fold_3": - from ..montgomery import fold_3 as mc - from ..shenzhen import fold_3 as ch - elif protocol == "fold_4": - from ..montgomery import fold_4 as mc - from ..shenzhen import fold_4 as ch - elif protocol == "fold_5": - from ..montgomery import fold_5 as mc - from ..shenzhen import fold_5 as ch - elif protocol == "fold_6": - from ..montgomery import fold_6 as mc - from ..shenzhen import fold_6 as ch - elif protocol == "fold_7": - from ..montgomery import fold_7 as mc - from ..shenzhen import fold_7 as ch - elif protocol == "fold_8": - from ..montgomery import fold_8 as mc - from ..shenzhen import fold_8 as ch - elif protocol == "fold_9": - from ..montgomery import fold_9 as mc - from ..shenzhen import fold_9 as ch - elif protocol == "fold_0_rgb": - from ..montgomery import fold_0_rgb as mc - from ..shenzhen import fold_0_rgb as ch - elif protocol == "fold_1_rgb": - from ..montgomery import fold_1_rgb as mc - from ..shenzhen import fold_1_rgb as ch - elif protocol == "fold_2_rgb": - from ..montgomery import fold_2_rgb as mc - from ..shenzhen import fold_2_rgb as ch - elif protocol == "fold_3_rgb": - from ..montgomery import fold_3_rgb as mc - from ..shenzhen import fold_3_rgb as ch - elif protocol == "fold_4_rgb": - from ..montgomery import fold_4_rgb as mc - from ..shenzhen import fold_4_rgb as ch - elif protocol == "fold_5_rgb": - from ..montgomery import fold_5_rgb as mc - from ..shenzhen import fold_5_rgb as ch - elif protocol == "fold_6_rgb": - from ..montgomery import fold_6_rgb as mc - from ..shenzhen import fold_6_rgb as ch - elif protocol == "fold_7_rgb": - from ..montgomery import fold_7_rgb as mc - from ..shenzhen import fold_7_rgb as ch - elif protocol == "fold_8_rgb": - from ..montgomery import fold_8_rgb as mc - from ..shenzhen import fold_8_rgb as ch - elif protocol == "fold_9_rgb": - from ..montgomery import fold_9_rgb as mc - from ..shenzhen import fold_9_rgb as ch - - mc = mc.dataset - ch = ch.dataset - - dataset = {} - dataset["__train__"] = ConcatDataset([mc["__train__"], ch["__train__"]]) - dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) - dataset["__valid__"] = ConcatDataset([mc["__valid__"], ch["__valid__"]]) - dataset["validation"] = ConcatDataset([mc["validation"], ch["validation"]]) - dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) - - return dataset diff --git a/src/ptbench/configs/datasets/mc_ch/default.py b/src/ptbench/configs/datasets/mc_ch/default.py deleted file mode 100644 index d3fd5988..00000000 --- a/src/ptbench/configs/datasets/mc_ch/default.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" - -from . import _maker - -dataset = _maker("default") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_0.py b/src/ptbench/configs/datasets/mc_ch/fold_0.py deleted file mode 100644 index e2d5d3f3..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_0.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 0)""" - -from . import _maker - -dataset = _maker("fold_0") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_0_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_0_rgb.py deleted file mode 100644 index 4ccdd537..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_0_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 0, RGB)""" - -from . import _maker - -dataset = _maker("fold_0_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_1.py b/src/ptbench/configs/datasets/mc_ch/fold_1.py deleted file mode 100644 index fa08164b..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_1.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 1)""" - -from . import _maker - -dataset = _maker("fold_1") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_1_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_1_rgb.py deleted file mode 100644 index 8243397c..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_1_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 1, RGB)""" - -from . import _maker - -dataset = _maker("fold_1_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_2.py b/src/ptbench/configs/datasets/mc_ch/fold_2.py deleted file mode 100644 index 43c24301..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_2.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 2)""" - -from . import _maker - -dataset = _maker("fold_2") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_2_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_2_rgb.py deleted file mode 100644 index 1687b78e..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_2_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 2, RGB)""" - -from . import _maker - -dataset = _maker("fold_2_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_3.py b/src/ptbench/configs/datasets/mc_ch/fold_3.py deleted file mode 100644 index df33cf81..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_3.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 3)""" - -from . import _maker - -dataset = _maker("fold_3") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_3_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_3_rgb.py deleted file mode 100644 index 4378c8b8..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_3_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 3, RGB)""" - -from . import _maker - -dataset = _maker("fold_3_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_4.py b/src/ptbench/configs/datasets/mc_ch/fold_4.py deleted file mode 100644 index b74104a3..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_4.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 4)""" - -from . import _maker - -dataset = _maker("fold_4") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_4_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_4_rgb.py deleted file mode 100644 index cba3284d..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_4_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 4, RGB)""" - -from . import _maker - -dataset = _maker("fold_4_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_5.py b/src/ptbench/configs/datasets/mc_ch/fold_5.py deleted file mode 100644 index 2bd11c0b..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_5.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 5)""" - -from . import _maker - -dataset = _maker("fold_5") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_5_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_5_rgb.py deleted file mode 100644 index b9a7ca14..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_5_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 5, RGB)""" - -from . import _maker - -dataset = _maker("fold_5_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_6.py b/src/ptbench/configs/datasets/mc_ch/fold_6.py deleted file mode 100644 index af7e9b2e..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_6.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 6)""" - -from . import _maker - -dataset = _maker("fold_6") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_6_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_6_rgb.py deleted file mode 100644 index b27ddf27..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_6_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 6, RGB)""" - -from . import _maker - -dataset = _maker("fold_6_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_7.py b/src/ptbench/configs/datasets/mc_ch/fold_7.py deleted file mode 100644 index dc0f8c89..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_7.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 7)""" - -from . import _maker - -dataset = _maker("fold_7") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_7_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_7_rgb.py deleted file mode 100644 index e9ad682d..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_7_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 7, RGB)""" - -from . import _maker - -dataset = _maker("fold_7_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_8.py b/src/ptbench/configs/datasets/mc_ch/fold_8.py deleted file mode 100644 index b7c4a02a..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_8.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 8)""" - -from . import _maker - -dataset = _maker("fold_8") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_8_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_8_rgb.py deleted file mode 100644 index b7764a33..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_8_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 8, RGB)""" - -from . import _maker - -dataset = _maker("fold_8_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_9.py b/src/ptbench/configs/datasets/mc_ch/fold_9.py deleted file mode 100644 index 8481ae14..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_9.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 9)""" - -from . import _maker - -dataset = _maker("fold_9") diff --git a/src/ptbench/configs/datasets/mc_ch/fold_9_rgb.py b/src/ptbench/configs/datasets/mc_ch/fold_9_rgb.py deleted file mode 100644 index e4f565f5..00000000 --- a/src/ptbench/configs/datasets/mc_ch/fold_9_rgb.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen datasets (cross -validation fold 9, RGB)""" - -from . import _maker - -dataset = _maker("fold_9_rgb") diff --git a/src/ptbench/configs/datasets/mc_ch/rgb.py b/src/ptbench/configs/datasets/mc_ch/rgb.py deleted file mode 100644 index 272e8dce..00000000 --- a/src/ptbench/configs/datasets/mc_ch/rgb.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> -# -# SPDX-License-Identifier: GPL-3.0-or-later - -"""Aggregated dataset composed of Montgomery and Shenzhen (RGB) datasets.""" - -from . import _maker - -dataset = _maker("rgb") diff --git a/src/ptbench/data/mc_ch/__init__.py b/src/ptbench/data/mc_ch/__init__.py new file mode 100644 index 00000000..662d5c13 --- /dev/null +++ b/src/ptbench/data/mc_ch/__init__.py @@ -0,0 +1,3 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/ptbench/data/mc_ch/default.py b/src/ptbench/data/mc_ch/default.py new file mode 100644 index 00000000..0af1d686 --- /dev/null +++ b/src/ptbench/data/mc_ch/default.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.default import datamodule as mc_datamodule +from ..shenzhen.default import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_0.py b/src/ptbench/data/mc_ch/fold_0.py new file mode 100644 index 00000000..e151c0e0 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_0.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_0 import datamodule as mc_datamodule +from ..shenzhen.fold_0 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_0_rgb.py b/src/ptbench/data/mc_ch/fold_0_rgb.py new file mode 100644 index 00000000..56502b24 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_0_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_0_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_0_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_1.py b/src/ptbench/data/mc_ch/fold_1.py new file mode 100644 index 00000000..732513da --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_1.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_1 import datamodule as mc_datamodule +from ..shenzhen.fold_1 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_1_rgb.py b/src/ptbench/data/mc_ch/fold_1_rgb.py new file mode 100644 index 00000000..6cfbcb36 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_1_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_1_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_1_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_2.py b/src/ptbench/data/mc_ch/fold_2.py new file mode 100644 index 00000000..1d4ac5b5 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_2.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_2 import datamodule as mc_datamodule +from ..shenzhen.fold_2 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_2_rgb.py b/src/ptbench/data/mc_ch/fold_2_rgb.py new file mode 100644 index 00000000..eec98dca --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_2_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_2_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_2_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_3.py b/src/ptbench/data/mc_ch/fold_3.py new file mode 100644 index 00000000..b97b5e94 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_3.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_3 import datamodule as mc_datamodule +from ..shenzhen.fold_3 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_3_rgb.py b/src/ptbench/data/mc_ch/fold_3_rgb.py new file mode 100644 index 00000000..e380dc33 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_3_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_3_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_3_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_4.py b/src/ptbench/data/mc_ch/fold_4.py new file mode 100644 index 00000000..8cd906b5 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_4.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_4 import datamodule as mc_datamodule +from ..shenzhen.fold_4 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_4_rgb.py b/src/ptbench/data/mc_ch/fold_4_rgb.py new file mode 100644 index 00000000..7ba0ecfe --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_4_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_4_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_4_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_5.py b/src/ptbench/data/mc_ch/fold_5.py new file mode 100644 index 00000000..3f20a33b --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_5.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_5 import datamodule as mc_datamodule +from ..shenzhen.fold_5 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_5_rgb.py b/src/ptbench/data/mc_ch/fold_5_rgb.py new file mode 100644 index 00000000..61159ed6 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_5_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_5_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_5_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_6.py b/src/ptbench/data/mc_ch/fold_6.py new file mode 100644 index 00000000..74137910 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_6.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_6 import datamodule as mc_datamodule +from ..shenzhen.fold_6 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_6_rgb.py b/src/ptbench/data/mc_ch/fold_6_rgb.py new file mode 100644 index 00000000..79abe09b --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_6_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_6_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_6_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_7.py b/src/ptbench/data/mc_ch/fold_7.py new file mode 100644 index 00000000..a94621e6 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_7.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_7 import datamodule as mc_datamodule +from ..shenzhen.fold_7 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_7_rgb.py b/src/ptbench/data/mc_ch/fold_7_rgb.py new file mode 100644 index 00000000..90b866e1 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_7_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_7_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_7_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_8.py b/src/ptbench/data/mc_ch/fold_8.py new file mode 100644 index 00000000..aa52bc81 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_8.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_8 import datamodule as mc_datamodule +from ..shenzhen.fold_8 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_8_rgb.py b/src/ptbench/data/mc_ch/fold_8_rgb.py new file mode 100644 index 00000000..3df1838d --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_8_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_8_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_8_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_9.py b/src/ptbench/data/mc_ch/fold_9.py new file mode 100644 index 00000000..4bb4a5a3 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_9.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_9 import datamodule as mc_datamodule +from ..shenzhen.fold_9 import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/fold_9_rgb.py b/src/ptbench/data/mc_ch/fold_9_rgb.py new file mode 100644 index 00000000..a07ffce4 --- /dev/null +++ b/src/ptbench/data/mc_ch/fold_9_rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.fold_9_rgb import datamodule as mc_datamodule +from ..shenzhen.fold_9_rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule diff --git a/src/ptbench/data/mc_ch/rgb.py b/src/ptbench/data/mc_ch/rgb.py new file mode 100644 index 00000000..05407eae --- /dev/null +++ b/src/ptbench/data/mc_ch/rgb.py @@ -0,0 +1,84 @@ +# Copyright © 2022 Idiap Research Institute <contact@idiap.ch> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +"""Aggregated dataset composed of Montgomery and Shenzhen datasets.""" + +from clapper.logging import setup +from torch.utils.data.dataset import ConcatDataset + +from .. import return_subsets +from ..base_datamodule import BaseDataModule +from ..montgomery.rgb import datamodule as mc_datamodule +from ..shenzhen.rgb import datamodule as ch_datamodule + +logger = setup(__name__.split(".")[0], format="%(levelname)s: %(message)s") + + +class DefaultModule(BaseDataModule): + def __init__( + self, + train_batch_size=1, + predict_batch_size=1, + drop_incomplete_batch=False, + multiproc_kwargs=None, + ): + self.train_batch_size = train_batch_size + self.predict_batch_size = predict_batch_size + self.drop_incomplete_batch = drop_incomplete_batch + self.multiproc_kwargs = multiproc_kwargs + + super().__init__( + train_batch_size=train_batch_size, + predict_batch_size=predict_batch_size, + drop_incomplete_batch=drop_incomplete_batch, + multiproc_kwargs=multiproc_kwargs, + ) + + def setup(self, stage: str): + # Instantiate other datamodules and get their datasets + mc_module = mc_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + mc_module.prepare_data() + mc_module.setup(stage=stage) + mc = mc_module.dataset + + ch_module = ch_datamodule( + train_batch_size=self.train_batch_size, + predict_batch_size=self.predict_batch_size, + drop_incomplete_batch=self.drop_incomplete_batch, + multiproc_kwargs=self.multiproc_kwargs, + ) + + ch_module.prepare_data() + ch_module.setup(stage=stage) + ch = ch_module.dataset + + # Combine datasets + self.dataset = {} + self.dataset["__train__"] = ConcatDataset( + [mc["__train__"], ch["__train__"]] + ) + self.dataset["train"] = ConcatDataset([mc["train"], ch["train"]]) + self.dataset["__valid__"] = ConcatDataset( + [mc["__valid__"], ch["__valid__"]] + ) + self.dataset["validation"] = ConcatDataset( + [mc["validation"], ch["validation"]] + ) + self.dataset["test"] = ConcatDataset([mc["test"], ch["test"]]) + + ( + self.train_dataset, + self.validation_dataset, + self.extra_validation_datasets, + self.predict_dataset, + ) = return_subsets(self.dataset) + + +datamodule = DefaultModule -- GitLab