Skip to content
Snippets Groups Projects
Commit d177cf60 authored by Daniel CARRON's avatar Daniel CARRON :b:
Browse files

Merge branch 'move-to-lightning' into 'main'

Moved code to lightning

See merge request biosignal/software/ptbench!4
parents ee7b9636 f87e433e
No related branches found
No related tags found
1 merge request!4Moved code to lightning
Pipeline #73719 passed
Showing
with 473 additions and 5 deletions
...@@ -36,7 +36,7 @@ requirements: ...@@ -36,7 +36,7 @@ requirements:
- torchvision {{ torchvision }} - torchvision {{ torchvision }}
- tqdm {{ tqdm }} - tqdm {{ tqdm }}
- tensorboard {{ tensorboard }} - tensorboard {{ tensorboard }}
- pytorch-lightning {{ pytorch_lightning }} - lightning {{ lightning }}
- clapper - clapper
run: run:
- python >=3.9 - python >=3.9
...@@ -53,7 +53,7 @@ requirements: ...@@ -53,7 +53,7 @@ requirements:
- {{ pin_compatible('torchvision') }} - {{ pin_compatible('torchvision') }}
- {{ pin_compatible('tqdm') }} - {{ pin_compatible('tqdm') }}
- {{ pin_compatible('tensorboard') }} - {{ pin_compatible('tensorboard') }}
- {{ pin_compatible('pytorch-lightning') }} - {{ pin_compatible('lightning') }}
- clapper - clapper
test: test:
......
...@@ -53,6 +53,10 @@ Direct data-access through iterators. ...@@ -53,6 +53,10 @@ Direct data-access through iterators.
ptbench.data.indian ptbench.data.indian
ptbench.data.nih_cxr14_re ptbench.data.nih_cxr14_re
ptbench.data.padchest_RS ptbench.data.padchest_RS
ptbench.data.tbx11k_simplified
ptbench.data.tbx11k_simplified_RS
ptbench.data.tbx11k_simplified_v2
ptbench.data.tbx11k_simplified_v2_RS
.. _ptbench.api.models: .. _ptbench.api.models:
......
...@@ -5,5 +5,13 @@ ...@@ -5,5 +5,13 @@
"latest": "https://clapper.readthedocs.io/en/latest/" "latest": "https://clapper.readthedocs.io/en/latest/"
}, },
"sources": {} "sources": {}
},
"lightning": {
"versions": {
"stable": "https://lightning.ai/docs/pytorch/stable/"
},
"sources": {
"environment": "lightning"
}
} }
} }
...@@ -122,6 +122,7 @@ auto_intersphinx_packages = [ ...@@ -122,6 +122,7 @@ auto_intersphinx_packages = [
"psutil", "psutil",
"torch", "torch",
"torchvision", "torchvision",
"lightning",
("clapper", "latest"), ("clapper", "latest"),
("python", "3"), ("python", "3"),
] ]
......
...@@ -50,6 +50,12 @@ if applicable. Use these datasets for training and evaluating your models. ...@@ -50,6 +50,12 @@ if applicable. Use these datasets for training and evaluating your models.
ptbench.configs.datasets.mc_ch_in.default ptbench.configs.datasets.mc_ch_in.default
ptbench.configs.datasets.mc_ch_in.rgb ptbench.configs.datasets.mc_ch_in.rgb
ptbench.configs.datasets.mc_ch_in_RS.default ptbench.configs.datasets.mc_ch_in_RS.default
ptbench.configs.datasets.mc_ch_in_11k.default
ptbench.configs.datasets.mc_ch_in_11k.rgb
ptbench.configs.datasets.mc_ch_in_11k_RS.default
ptbench.configs.datasets.mc_ch_in_11kv2.default
ptbench.configs.datasets.mc_ch_in_11kv2.rgb
ptbench.configs.datasets.mc_ch_in_11kv2_RS.default
ptbench.configs.datasets.mc_ch_in_pc.default ptbench.configs.datasets.mc_ch_in_pc.default
ptbench.configs.datasets.mc_ch_in_pc.rgb ptbench.configs.datasets.mc_ch_in_pc.rgb
ptbench.configs.datasets.mc_ch_in_pc_RS.default ptbench.configs.datasets.mc_ch_in_pc_RS.default
...@@ -68,6 +74,12 @@ if applicable. Use these datasets for training and evaluating your models. ...@@ -68,6 +74,12 @@ if applicable. Use these datasets for training and evaluating your models.
ptbench.configs.datasets.shenzhen.default ptbench.configs.datasets.shenzhen.default
ptbench.configs.datasets.shenzhen.rgb ptbench.configs.datasets.shenzhen.rgb
ptbench.configs.datasets.shenzhen_RS.default ptbench.configs.datasets.shenzhen_RS.default
ptbench.configs.datasets.tbx11k_simplified.default
ptbench.configs.datasets.tbx11k_simplified.rgb
ptbench.configs.datasets.tbx11k_simplified_RS.default
ptbench.configs.datasets.tbx11k_simplified_v2.default
ptbench.configs.datasets.tbx11k_simplified_v2.rgb
ptbench.configs.datasets.tbx11k_simplified_v2_RS.default
.. _ptbench.configs.datasets.folds: .. _ptbench.configs.datasets.folds:
...@@ -97,6 +109,12 @@ datasets. Nine other folds are available for every configuration (from 1 to ...@@ -97,6 +109,12 @@ datasets. Nine other folds are available for every configuration (from 1 to
ptbench.configs.datasets.mc_ch_in.fold_0 ptbench.configs.datasets.mc_ch_in.fold_0
ptbench.configs.datasets.mc_ch_in.fold_0_rgb ptbench.configs.datasets.mc_ch_in.fold_0_rgb
ptbench.configs.datasets.mc_ch_in_RS.fold_0 ptbench.configs.datasets.mc_ch_in_RS.fold_0
ptbench.configs.datasets.mc_ch_in_11k.fold_0
ptbench.configs.datasets.mc_ch_in_11k.fold_0_rgb
ptbench.configs.datasets.mc_ch_in_11k_RS.fold_0
ptbench.configs.datasets.mc_ch_in_11kv2.fold_0
ptbench.configs.datasets.mc_ch_in_11kv2.fold_0_rgb
ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_0
ptbench.configs.datasets.montgomery.fold_0 ptbench.configs.datasets.montgomery.fold_0
ptbench.configs.datasets.montgomery.fold_0_rgb ptbench.configs.datasets.montgomery.fold_0_rgb
ptbench.configs.datasets.montgomery_RS.fold_0 ptbench.configs.datasets.montgomery_RS.fold_0
...@@ -106,6 +124,12 @@ datasets. Nine other folds are available for every configuration (from 1 to ...@@ -106,6 +124,12 @@ datasets. Nine other folds are available for every configuration (from 1 to
ptbench.configs.datasets.tbpoc.fold_0 ptbench.configs.datasets.tbpoc.fold_0
ptbench.configs.datasets.tbpoc.fold_0_rgb ptbench.configs.datasets.tbpoc.fold_0_rgb
ptbench.configs.datasets.tbpoc_RS.fold_0 ptbench.configs.datasets.tbpoc_RS.fold_0
ptbench.configs.datasets.tbx11k_simplified.fold_0
ptbench.configs.datasets.tbx11k_simplified.fold_0_rgb
ptbench.configs.datasets.tbx11k_simplified_RS.fold_0
ptbench.configs.datasets.tbx11k_simplified_v2.fold_0
ptbench.configs.datasets.tbx11k_simplified_v2.fold_0_rgb
ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_0
.. include:: links.rst .. include:: links.rst
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
# Project: extras # Project: extras
# Version: stable # Version: stable
# The remainder of this file is compressed using zlib. # The remainder of this file is compressed using zlib.
xE лSti * xڭA
P~M߃lYfh5Wٯit}No!%]B-4OΌ 1 E[[ R MH2A\.{OItņTLR+.$Uns<lI ԟ2hl1iB$`g/aG%<XU)ibłw/
\ No newline at end of file \ No newline at end of file
...@@ -3,3 +3,6 @@ ...@@ -3,3 +3,6 @@
# Version: stable # Version: stable
# The remainder of this file is compressed using zlib. # The remainder of this file is compressed using zlib.
torchvision.transforms py:module 1 https://pytorch.org/vision/stable/transforms.html - torchvision.transforms py:module 1 https://pytorch.org/vision/stable/transforms.html -
lightning.pytorch.core.module.LightningModule.forward py:method 1 api/lightning.pytorch.core.LightningModule.html#$ -
lightning.pytorch.core.module.LightningModule.predict_step py:method 1 api/lightning.pytorch.core.LightningModule.html#$ -
optimizer_step py:method 1 api/lightning.pytorch.core.LightningModule.html#$ -
...@@ -66,6 +66,7 @@ Here is an example configuration file that may be useful as a starting point: ...@@ -66,6 +66,7 @@ Here is an example configuration file that may be useful as a starting point:
montgomery = "/Users/myself/dbs/montgomery-xrayset" montgomery = "/Users/myself/dbs/montgomery-xrayset"
shenzhen = "/Users/myself/dbs/shenzhen" shenzhen = "/Users/myself/dbs/shenzhen"
nih_cxr14_re = "/Users/myself/dbs/nih-cxr14-re" nih_cxr14_re = "/Users/myself/dbs/nih-cxr14-re"
tbx11k_simplified = "/Users/myself/dbs/tbx11k-simplified"
[nih_cxr14_re] [nih_cxr14_re]
idiap_folder_structure = false # set to `true` if at Idiap idiap_folder_structure = false # set to `true` if at Idiap
...@@ -145,6 +146,42 @@ In addition to the splits presented in the following table, 10 folds ...@@ -145,6 +146,42 @@ In addition to the splits presented in the following table, 10 folds
.. _ptbench.setup.datasets.tb+signs: .. _ptbench.setup.datasets.tb+signs:
Tuberculosis multilabel dataset
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following dataset contains the labels healthy, sick & non-TB, active TB,
and latent TB. The implemented tbx11k dataset in this package is based on
the simplified version, which is just a more compact version of the original.
In addition to the splits presented in the following table, 10 folds
(for cross-validation) randomly generated are available for these datasets.
.. list-table::
* - Dataset
- Reference
- H x W
- Samples
- Training
- Validation
- Test
* - TBX11K_
- [TBX11K-2020]_
- 512 x 512
- 11'200
- 6600
- 1800
- 2800
* - TBX11K_SIMPLIFIED_
- [TBX11K-SIMPLIFIED-2020]_
- 512 x 512
- 11'200
- 6600
- 1800
- 2800
.. _ptbench.setup.datasets.tbmultilabel+signs:
Tuberculosis + radiological findings dataset Tuberculosis + radiological findings dataset
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -18,3 +18,5 @@ ...@@ -18,3 +18,5 @@
.. _indian: https://sourceforge.net/projects/tbxpredict/ .. _indian: https://sourceforge.net/projects/tbxpredict/
.. _NIH_CXR14_re: https://nihcc.app.box.com/v/ChestXray-NIHCC .. _NIH_CXR14_re: https://nihcc.app.box.com/v/ChestXray-NIHCC
.. _PadChest: https://bimcv.cipf.es/bimcv-projects/padchest/ .. _PadChest: https://bimcv.cipf.es/bimcv-projects/padchest/
.. _TBX11K: https://mmcheng.net/tb/
.. _TBX11K_simplified: https://www.kaggle.com/datasets/vbookshelf/tbx11k-simplified
...@@ -59,3 +59,13 @@ ...@@ -59,3 +59,13 @@
performance and interobserver agreement of urine lipoarabinomannan in performance and interobserver agreement of urine lipoarabinomannan in
diagnosing HIV-Associated tuberculosis in an emergency center.**, diagnosing HIV-Associated tuberculosis in an emergency center.**,
J. Acquir. Immune Defic. Syndr. 1999 81, e10–e14 (2019). J. Acquir. Immune Defic. Syndr. 1999 81, e10–e14 (2019).
.. [TBX11K-2020] *Liu, Y., Wu, Y.-H., Ban, Y., Wang, H., and Cheng, M.-*,
**Rethinking computer-aided tuberculosis diagnosis.**,
In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern
Recognition, pages 2646–2655.
.. [TBX11K-SIMPLIFIED-2020] *Liu, Y., Wu, Y.-H., Ban, Y., Wang, H., and Cheng, M.-*,
**Rethinking computer-aided tuberculosis diagnosis.**,
In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern
Recognition, pages 2646–2655.
...@@ -41,7 +41,7 @@ dependencies = [ ...@@ -41,7 +41,7 @@ dependencies = [
"pillow", "pillow",
"torch>=1.8", "torch>=1.8",
"torchvision>=0.10", "torchvision>=0.10",
"pytorch-lightning", "lightning",
"tensorboard", "tensorboard",
] ]
...@@ -186,6 +186,76 @@ indian_rs_f6 = "ptbench.configs.datasets.indian_RS.fold_6" ...@@ -186,6 +186,76 @@ indian_rs_f6 = "ptbench.configs.datasets.indian_RS.fold_6"
indian_rs_f7 = "ptbench.configs.datasets.indian_RS.fold_7" indian_rs_f7 = "ptbench.configs.datasets.indian_RS.fold_7"
indian_rs_f8 = "ptbench.configs.datasets.indian_RS.fold_8" indian_rs_f8 = "ptbench.configs.datasets.indian_RS.fold_8"
indian_rs_f9 = "ptbench.configs.datasets.indian_RS.fold_9" indian_rs_f9 = "ptbench.configs.datasets.indian_RS.fold_9"
# TBX11K simplified dataset split 1 (and cross-validation folds)
tbx11k_simplified = "ptbench.configs.datasets.tbx11k_simplified.default"
tbx11k_simplified_rgb = "ptbench.configs.datasets.tbx11k_simplified.rgb"
tbx11k_simplified_f0 = "ptbench.configs.datasets.tbx11k_simplified.fold_0"
tbx11k_simplified_f1 = "ptbench.configs.datasets.tbx11k_simplified.fold_1"
tbx11k_simplified_f2 = "ptbench.configs.datasets.tbx11k_simplified.fold_2"
tbx11k_simplified_f3 = "ptbench.configs.datasets.tbx11k_simplified.fold_3"
tbx11k_simplified_f4 = "ptbench.configs.datasets.tbx11k_simplified.fold_4"
tbx11k_simplified_f5 = "ptbench.configs.datasets.tbx11k_simplified.fold_5"
tbx11k_simplified_f6 = "ptbench.configs.datasets.tbx11k_simplified.fold_6"
tbx11k_simplified_f7 = "ptbench.configs.datasets.tbx11k_simplified.fold_7"
tbx11k_simplified_f8 = "ptbench.configs.datasets.tbx11k_simplified.fold_8"
tbx11k_simplified_f9 = "ptbench.configs.datasets.tbx11k_simplified.fold_9"
tbx11k_simplified_f0_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_0_rgb"
tbx11k_simplified_f1_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_1_rgb"
tbx11k_simplified_f2_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_2_rgb"
tbx11k_simplified_f3_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_3_rgb"
tbx11k_simplified_f4_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_4_rgb"
tbx11k_simplified_f5_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_5_rgb"
tbx11k_simplified_f6_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_6_rgb"
tbx11k_simplified_f7_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_7_rgb"
tbx11k_simplified_f8_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_8_rgb"
tbx11k_simplified_f9_rgb = "ptbench.configs.datasets.tbx11k_simplified.fold_9_rgb"
# extended TBX11K simplified dataset split 1 (with radiological signs)
tbx11k_simplified_rs = "ptbench.configs.datasets.tbx11k_simplified_RS.default"
tbx11k_simplified_rs_f0 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_0"
tbx11k_simplified_rs_f1 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_1"
tbx11k_simplified_rs_f2 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_2"
tbx11k_simplified_rs_f3 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_3"
tbx11k_simplified_rs_f4 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_4"
tbx11k_simplified_rs_f5 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_5"
tbx11k_simplified_rs_f6 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_6"
tbx11k_simplified_rs_f7 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_7"
tbx11k_simplified_rs_f8 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_8"
tbx11k_simplified_rs_f9 = "ptbench.configs.datasets.tbx11k_simplified_RS.fold_9"
# TBX11K simplified dataset split 2 (and cross-validation folds)
tbx11k_simplified_v2 = "ptbench.configs.datasets.tbx11k_simplified_v2.default"
tbx11k_simplified_v2_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.rgb"
tbx11k_simplified_v2_f0 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_0"
tbx11k_simplified_v2_f1 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_1"
tbx11k_simplified_v2_f2 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_2"
tbx11k_simplified_v2_f3 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_3"
tbx11k_simplified_v2_f4 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_4"
tbx11k_simplified_v2_f5 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_5"
tbx11k_simplified_v2_f6 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_6"
tbx11k_simplified_v2_f7 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_7"
tbx11k_simplified_v2_f8 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_8"
tbx11k_simplified_v2_f9 = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_9"
tbx11k_simplified_v2_f0_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_0_rgb"
tbx11k_simplified_v2_f1_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_1_rgb"
tbx11k_simplified_v2_f2_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_2_rgb"
tbx11k_simplified_v2_f3_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_3_rgb"
tbx11k_simplified_v2_f4_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_4_rgb"
tbx11k_simplified_v2_f5_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_5_rgb"
tbx11k_simplified_v2_f6_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_6_rgb"
tbx11k_simplified_v2_f7_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_7_rgb"
tbx11k_simplified_v2_f8_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_8_rgb"
tbx11k_simplified_v2_f9_rgb = "ptbench.configs.datasets.tbx11k_simplified_v2.fold_9_rgb"
# extended TBX11K simplified dataset split 2 (with radiological signs)
tbx11k_simplified_v2_rs = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.default"
tbx11k_simplified_v2_rs_f0 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_0"
tbx11k_simplified_v2_rs_f1 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_1"
tbx11k_simplified_v2_rs_f2 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_2"
tbx11k_simplified_v2_rs_f3 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_3"
tbx11k_simplified_v2_rs_f4 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_4"
tbx11k_simplified_v2_rs_f5 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_5"
tbx11k_simplified_v2_rs_f6 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_6"
tbx11k_simplified_v2_rs_f7 = "ptbench.configs.datasets.tbx11k_simplified_v2_RS.fold_7"
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 # montgomery-shenzhen aggregated dataset
mc_ch = "ptbench.configs.datasets.mc_ch.default" mc_ch = "ptbench.configs.datasets.mc_ch.default"
mc_ch_rgb = "ptbench.configs.datasets.mc_ch.rgb" mc_ch_rgb = "ptbench.configs.datasets.mc_ch.rgb"
...@@ -258,6 +328,78 @@ mc_ch_in_rs_f6 = "ptbench.configs.datasets.mc_ch_in_RS.fold_6" ...@@ -258,6 +328,78 @@ mc_ch_in_rs_f6 = "ptbench.configs.datasets.mc_ch_in_RS.fold_6"
mc_ch_in_rs_f7 = "ptbench.configs.datasets.mc_ch_in_RS.fold_7" mc_ch_in_rs_f7 = "ptbench.configs.datasets.mc_ch_in_RS.fold_7"
mc_ch_in_rs_f8 = "ptbench.configs.datasets.mc_ch_in_RS.fold_8" mc_ch_in_rs_f8 = "ptbench.configs.datasets.mc_ch_in_RS.fold_8"
mc_ch_in_rs_f9 = "ptbench.configs.datasets.mc_ch_in_RS.fold_9" mc_ch_in_rs_f9 = "ptbench.configs.datasets.mc_ch_in_RS.fold_9"
# montgomery-shenzhen-indian-tbx11k aggregated dataset
mc_ch_in_11k = "ptbench.configs.datasets.mc_ch_in_11k.default"
mc_ch_in_11k_rgb = "ptbench.configs.datasets.mc_ch_in_11k.rgb"
mc_ch_in_11k_f0 = "ptbench.configs.datasets.mc_ch_in_11k.fold_0"
mc_ch_in_11k_f1 = "ptbench.configs.datasets.mc_ch_in_11k.fold_1"
mc_ch_in_11k_f2 = "ptbench.configs.datasets.mc_ch_in_11k.fold_2"
mc_ch_in_11k_f3 = "ptbench.configs.datasets.mc_ch_in_11k.fold_3"
mc_ch_in_11k_f4 = "ptbench.configs.datasets.mc_ch_in_11k.fold_4"
mc_ch_in_11k_f5 = "ptbench.configs.datasets.mc_ch_in_11k.fold_5"
mc_ch_in_11k_f6 = "ptbench.configs.datasets.mc_ch_in_11k.fold_6"
mc_ch_in_11k_f7 = "ptbench.configs.datasets.mc_ch_in_11k.fold_7"
mc_ch_in_11k_f8 = "ptbench.configs.datasets.mc_ch_in_11k.fold_8"
mc_ch_in_11k_f9 = "ptbench.configs.datasets.mc_ch_in_11k.fold_9"
mc_ch_in_11k_f0_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_0_rgb"
mc_ch_in_11k_f1_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_1_rgb"
mc_ch_in_11k_f2_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_2_rgb"
mc_ch_in_11k_f3_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_3_rgb"
mc_ch_in_11k_f4_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_4_rgb"
mc_ch_in_11k_f5_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_5_rgb"
mc_ch_in_11k_f6_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_6_rgb"
mc_ch_in_11k_f7_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_7_rgb"
mc_ch_in_11k_f8_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_8_rgb"
mc_ch_in_11k_f9_rgb = "ptbench.configs.datasets.mc_ch_in_11k.fold_9_rgb"
# extended montgomery-shenzhen-indian-tbx11k aggregated dataset
# (with radiological signs)
mc_ch_in_11k_rs = "ptbench.configs.datasets.mc_ch_in_11k_RS.default"
mc_ch_in_11k_rs_f0 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_0"
mc_ch_in_11k_rs_f1 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_1"
mc_ch_in_11k_rs_f2 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_2"
mc_ch_in_11k_rs_f3 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_3"
mc_ch_in_11k_rs_f4 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_4"
mc_ch_in_11k_rs_f5 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_5"
mc_ch_in_11k_rs_f6 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_6"
mc_ch_in_11k_rs_f7 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_7"
mc_ch_in_11k_rs_f8 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_8"
mc_ch_in_11k_rs_f9 = "ptbench.configs.datasets.mc_ch_in_11k_RS.fold_9"
# montgomery-shenzhen-indian-tbx11kv2 aggregated dataset
mc_ch_in_11kv2 = "ptbench.configs.datasets.mc_ch_in_11kv2.default"
mc_ch_in_11kv2_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.rgb"
mc_ch_in_11kv2_f0 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_0"
mc_ch_in_11kv2_f1 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_1"
mc_ch_in_11kv2_f2 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_2"
mc_ch_in_11kv2_f3 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_3"
mc_ch_in_11kv2_f4 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_4"
mc_ch_in_11kv2_f5 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_5"
mc_ch_in_11kv2_f6 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_6"
mc_ch_in_11kv2_f7 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_7"
mc_ch_in_11kv2_f8 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_8"
mc_ch_in_11kv2_f9 = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_9"
mc_ch_in_11kv2_f0_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_0_rgb"
mc_ch_in_11kv2_f1_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_1_rgb"
mc_ch_in_11kv2_f2_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_2_rgb"
mc_ch_in_11kv2_f3_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_3_rgb"
mc_ch_in_11kv2_f4_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_4_rgb"
mc_ch_in_11kv2_f5_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_5_rgb"
mc_ch_in_11kv2_f6_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_6_rgb"
mc_ch_in_11kv2_f7_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_7_rgb"
mc_ch_in_11kv2_f8_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_8_rgb"
mc_ch_in_11kv2_f9_rgb = "ptbench.configs.datasets.mc_ch_in_11kv2.fold_9_rgb"
# extended montgomery-shenzhen-indian-tbx11kv2 aggregated dataset
# (with radiological signs)
mc_ch_in_11kv2_rs = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.default"
mc_ch_in_11kv2_rs_f0 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_0"
mc_ch_in_11kv2_rs_f1 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_1"
mc_ch_in_11kv2_rs_f2 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_2"
mc_ch_in_11kv2_rs_f3 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_3"
mc_ch_in_11kv2_rs_f4 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_4"
mc_ch_in_11kv2_rs_f5 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_5"
mc_ch_in_11kv2_rs_f6 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_6"
mc_ch_in_11kv2_rs_f7 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_7"
mc_ch_in_11kv2_rs_f8 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_8"
mc_ch_in_11kv2_rs_f9 = "ptbench.configs.datasets.mc_ch_in_11kv2_RS.fold_9"
# tbpoc dataset (and cross-validation folds) # tbpoc dataset (and cross-validation folds)
tbpoc_f0 = "ptbench.configs.datasets.tbpoc.fold_0" tbpoc_f0 = "ptbench.configs.datasets.tbpoc.fold_0"
tbpoc_f1 = "ptbench.configs.datasets.tbpoc.fold_1" tbpoc_f1 = "ptbench.configs.datasets.tbpoc.fold_1"
......
# SPDX-FileCopyrightText: Copyright © 2023 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 ..indian import default as indian
from ..montgomery import default as mc
from ..shenzhen import default as ch
from ..tbx11k_simplified import default as tbx11k
elif protocol == "rgb":
from ..indian import rgb as indian
from ..montgomery import rgb as mc
from ..shenzhen import rgb as ch
from ..tbx11k_simplified import rgb as tbx11k
elif protocol == "fold_0":
from ..indian import fold_0 as indian
from ..montgomery import fold_0 as mc
from ..shenzhen import fold_0 as ch
from ..tbx11k_simplified import fold_0 as tbx11k
elif protocol == "fold_1":
from ..indian import fold_1 as indian
from ..montgomery import fold_1 as mc
from ..shenzhen import fold_1 as ch
from ..tbx11k_simplified import fold_1 as tbx11k
elif protocol == "fold_2":
from ..indian import fold_2 as indian
from ..montgomery import fold_2 as mc
from ..shenzhen import fold_2 as ch
from ..tbx11k_simplified import fold_2 as tbx11k
elif protocol == "fold_3":
from ..indian import fold_3 as indian
from ..montgomery import fold_3 as mc
from ..shenzhen import fold_3 as ch
from ..tbx11k_simplified import fold_3 as tbx11k
elif protocol == "fold_4":
from ..indian import fold_4 as indian
from ..montgomery import fold_4 as mc
from ..shenzhen import fold_4 as ch
from ..tbx11k_simplified import fold_4 as tbx11k
elif protocol == "fold_5":
from ..indian import fold_5 as indian
from ..montgomery import fold_5 as mc
from ..shenzhen import fold_5 as ch
from ..tbx11k_simplified import fold_5 as tbx11k
elif protocol == "fold_6":
from ..indian import fold_6 as indian
from ..montgomery import fold_6 as mc
from ..shenzhen import fold_6 as ch
from ..tbx11k_simplified import fold_6 as tbx11k
elif protocol == "fold_7":
from ..indian import fold_7 as indian
from ..montgomery import fold_7 as mc
from ..shenzhen import fold_7 as ch
from ..tbx11k_simplified import fold_7 as tbx11k
elif protocol == "fold_8":
from ..indian import fold_8 as indian
from ..montgomery import fold_8 as mc
from ..shenzhen import fold_8 as ch
from ..tbx11k_simplified import fold_8 as tbx11k
elif protocol == "fold_9":
from ..indian import fold_9 as indian
from ..montgomery import fold_9 as mc
from ..shenzhen import fold_9 as ch
from ..tbx11k_simplified import fold_9 as tbx11k
elif protocol == "fold_0_rgb":
from ..indian import fold_0_rgb as indian
from ..montgomery import fold_0_rgb as mc
from ..shenzhen import fold_0_rgb as ch
from ..tbx11k_simplified import fold_0_rgb as tbx11k
elif protocol == "fold_1_rgb":
from ..indian import fold_1_rgb as indian
from ..montgomery import fold_1_rgb as mc
from ..shenzhen import fold_1_rgb as ch
from ..tbx11k_simplified import fold_1_rgb as tbx11k
elif protocol == "fold_2_rgb":
from ..indian import fold_2_rgb as indian
from ..montgomery import fold_2_rgb as mc
from ..shenzhen import fold_2_rgb as ch
from ..tbx11k_simplified import fold_2_rgb as tbx11k
elif protocol == "fold_3_rgb":
from ..indian import fold_3_rgb as indian
from ..montgomery import fold_3_rgb as mc
from ..shenzhen import fold_3_rgb as ch
from ..tbx11k_simplified import fold_3_rgb as tbx11k
elif protocol == "fold_4_rgb":
from ..indian import fold_4_rgb as indian
from ..montgomery import fold_4_rgb as mc
from ..shenzhen import fold_4_rgb as ch
from ..tbx11k_simplified import fold_4_rgb as tbx11k
elif protocol == "fold_5_rgb":
from ..indian import fold_5_rgb as indian
from ..montgomery import fold_5_rgb as mc
from ..shenzhen import fold_5_rgb as ch
from ..tbx11k_simplified import fold_5_rgb as tbx11k
elif protocol == "fold_6_rgb":
from ..indian import fold_6_rgb as indian
from ..montgomery import fold_6_rgb as mc
from ..shenzhen import fold_6_rgb as ch
from ..tbx11k_simplified import fold_6_rgb as tbx11k
elif protocol == "fold_7_rgb":
from ..indian import fold_7_rgb as indian
from ..montgomery import fold_7_rgb as mc
from ..shenzhen import fold_7_rgb as ch
from ..tbx11k_simplified import fold_7_rgb as tbx11k
elif protocol == "fold_8_rgb":
from ..indian import fold_8_rgb as indian
from ..montgomery import fold_8_rgb as mc
from ..shenzhen import fold_8_rgb as ch
from ..tbx11k_simplified import fold_8_rgb as tbx11k
elif protocol == "fold_9_rgb":
from ..indian import fold_9_rgb as indian
from ..montgomery import fold_9_rgb as mc
from ..shenzhen import fold_9_rgb as ch
from ..tbx11k_simplified import fold_9_rgb as tbx11k
mc = mc.dataset
ch = ch.dataset
indian = indian.dataset
tbx11k = tbx11k.dataset
dataset = {}
dataset["__train__"] = ConcatDataset(
[
mc["__train__"],
ch["__train__"],
indian["__train__"],
tbx11k["__train__"],
]
)
dataset["train"] = ConcatDataset(
[mc["train"], ch["train"], indian["train"], tbx11k["train"]]
)
dataset["__valid__"] = ConcatDataset(
[
mc["__valid__"],
ch["__valid__"],
indian["__valid__"],
tbx11k["__valid__"],
]
)
dataset["validation"] = ConcatDataset(
[
mc["validation"],
ch["validation"],
indian["validation"],
tbx11k["validation"],
]
)
dataset["test"] = ConcatDataset(
[mc["test"], ch["test"], indian["test"], tbx11k["test"]]
)
return dataset
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets."""
from . import _maker
dataset = _maker("default")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 0)"""
from . import _maker
dataset = _maker("fold_0")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 0, RGB)"""
from . import _maker
dataset = _maker("fold_0_rgb")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 1)"""
from . import _maker
dataset = _maker("fold_1")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 1, RGB)"""
from . import _maker
dataset = _maker("fold_1_rgb")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 2)"""
from . import _maker
dataset = _maker("fold_2")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 2, RGB)"""
from . import _maker
dataset = _maker("fold_2_rgb")
# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Aggregated dataset composed of Montgomery, Shenzhen, Indian and the default
TBX11K-simplified datasets (cross validation fold 3)"""
from . import _maker
dataset = _maker("fold_3")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment