From 2c775d59e3ce64d41aea1bb39583b2e64b5d70c5 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 30 Jan 2023 21:39:58 -0800 Subject: [PATCH 01/15] add basic config files Signed-off-by: tangy5 --- models/wholeBody_ct_segmentation/LICENSE | 201 ++++++++++++ .../configs/evaluate.json | 78 +++++ .../configs/inference.json | 161 +++++++++ .../configs/logging.conf | 21 ++ .../configs/metadata.json | 181 ++++++++++ .../configs/multi_gpu_evaluate.json | 28 ++ .../configs/multi_gpu_train.json | 39 +++ .../configs/train.json | 309 ++++++++++++++++++ .../wholeBody_ct_segmentation/docs/README.md | 113 +++++++ .../docs/data_license.txt | 6 + .../wholeBody_ct_segmentation/large_files.yml | 5 + 11 files changed, 1142 insertions(+) create mode 100644 models/wholeBody_ct_segmentation/LICENSE create mode 100644 models/wholeBody_ct_segmentation/configs/evaluate.json create mode 100644 models/wholeBody_ct_segmentation/configs/inference.json create mode 100644 models/wholeBody_ct_segmentation/configs/logging.conf create mode 100644 models/wholeBody_ct_segmentation/configs/metadata.json create mode 100644 models/wholeBody_ct_segmentation/configs/multi_gpu_evaluate.json create mode 100644 models/wholeBody_ct_segmentation/configs/multi_gpu_train.json create mode 100755 models/wholeBody_ct_segmentation/configs/train.json create mode 100644 models/wholeBody_ct_segmentation/docs/README.md create mode 100644 models/wholeBody_ct_segmentation/docs/data_license.txt create mode 100644 models/wholeBody_ct_segmentation/large_files.yml diff --git a/models/wholeBody_ct_segmentation/LICENSE b/models/wholeBody_ct_segmentation/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/models/wholeBody_ct_segmentation/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/models/wholeBody_ct_segmentation/configs/evaluate.json b/models/wholeBody_ct_segmentation/configs/evaluate.json new file mode 100644 index 00000000..7e7c7530 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/evaluate.json @@ -0,0 +1,78 @@ +{ + "validate#postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + }, + { + "_target_": "Invertd", + "keys": [ + "pred", + "label" + ], + "transform": "@validate#preprocessing", + "orig_keys": "image", + "meta_key_postfix": "meta_dict", + "nearest_interp": [ + false, + true + ], + "to_tensor": true + }, + { + "_target_": "SaveImaged", + "_disabled_": true, + "keys": "pred", + "meta_keys": "pred_meta_dict", + "output_dir": "@output_dir", + "resample": false, + "squeeze_end_dims": true + } + ] + }, + "validate#handlers": [ + { + "_target_": "CheckpointLoader", + "load_path": "$@ckpt_dir + '/model.pt'", + "load_dict": { + "model": "@network" + } + }, + { + "_target_": "StatsHandler", + "iteration_log": false + }, + { + "_target_": "MetricsSaver", + "save_dir": "@output_dir", + "metrics": [ + "val_mean_dice", + "val_acc" + ], + "metric_details": [ + "val_mean_dice" + ], + "batch_transform": "$monai.handlers.from_engine(['image_meta_dict'])", + "summary_ops": "*" + } + ], + "evaluating": [ + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@validate#evaluator.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json new file mode 100644 index 00000000..312ef5a1 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -0,0 +1,161 @@ +{ + "imports": [ + "$import glob", + "$import os" + ], + "bundle_root": ".", + "output_dir": "$@bundle_root + '/eval'", + "dataset_dir": "../datasets/Task09_Spleen", + "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "network_def": { + "_target_": "SegResNet", + "spatial_dims": 3, + "in_channels": 1, + "out_channels": 105, + "init_filters": 32, + "blocks_down": [ + 1, + 2, + 2, + 4 + ], + "blocks_up": [ + 1, + 1, + 1 + ], + "dropout_prob": 0.2 + }, + "network": "$@network_def.to(@device)", + "preprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "LoadImaged", + "keys": "image" + }, + { + "_target_": "EnsureTyped", + "keys": "image" + }, + { + "_target_": "EnsureChannelFirstd", + "keys": "image" + }, + { + "_target_": "Orientationd", + "keys": "image", + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": "image", + "pixdim": [ + 1.5, + 1.5, + 1.5 + ], + "mode": "bilinear" + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "GaussianSmoothd", + "keys": "image", + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + } + ] + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i} for i in @datalist]", + "transform": "@preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@dataset", + "batch_size": 1, + "shuffle": false, + "num_workers": 1 + }, + "inferer": { + "_target_": "SlidingWindowInferer", + "roi_size": [ + 96, + 96, + 96 + ], + "sw_batch_size": 1, + "overlap": 0.4, + "padding_mode": "replicate", + "mode": "gaussian", + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "Invertd", + "keys": "pred", + "transform": "@preprocessing", + "orig_keys": "image", + "meta_key_postfix": "meta_dict", + "nearest_interp": false, + "to_tensor": true + }, + { + "_target_": "AsDiscreted", + "keys": "pred", + "argmax": true + }, + { + "_target_": "SaveImaged", + "keys": "pred", + "meta_keys": "pred_meta_dict", + "output_dir": "@output_dir" + } + ] + }, + "handlers": [ + { + "_target_": "CheckpointLoader", + "load_path": "$@bundle_root + '/models/model.pt'", + "load_dict": { + "model": "@network" + } + }, + { + "_target_": "StatsHandler", + "iteration_log": false + } + ], + "evaluator": { + "_target_": "SupervisedEvaluator", + "device": "@device", + "val_data_loader": "@dataloader", + "network": "@network", + "inferer": "@inferer", + "postprocessing": "@postprocessing", + "val_handlers": "@handlers", + "amp": true + }, + "evaluating": [ + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@evaluator.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs/logging.conf b/models/wholeBody_ct_segmentation/configs/logging.conf new file mode 100644 index 00000000..91c1a21c --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/logging.conf @@ -0,0 +1,21 @@ +[loggers] +keys=root + +[handlers] +keys=consoleHandler + +[formatters] +keys=fullFormatter + +[logger_root] +level=INFO +handlers=consoleHandler + +[handler_consoleHandler] +class=StreamHandler +level=INFO +formatter=fullFormatter +args=(sys.stdout,) + +[formatter_fullFormatter] +format=%(asctime)s - %(name)s - %(levelname)s - %(message)s diff --git a/models/wholeBody_ct_segmentation/configs/metadata.json b/models/wholeBody_ct_segmentation/configs/metadata.json new file mode 100644 index 00000000..3db9b7bf --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/metadata.json @@ -0,0 +1,181 @@ +{ + "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json", + "version": "0.1.0", + "changelog": { + "0.1.0": "complete the model package", + "0.0.1": "initialize the model package structure" + }, + "monai_version": "1.1.0", + "pytorch_version": "1.13.0", + "numpy_version": "1.21.2", + "optional_packages_version": { + "nibabel": "4.0.1", + "pytorch-ignite": "0.4.9" + }, + "task": "Whole Body CT Segmentation", + "description": "A pre-trained SegResNet model for volumetric (3D) segmentation of the 104 whole body segments", + "authors": "MONAI team", + "copyright": "Copyright (c) MONAI Consortium", + "data_source": "TotalSegmentator", + "data_type": "nibabel", + "image_classes": "104 foreground channels, 0 channel for the background, intensity scaled to [0, 1]", + "label_classes": "0 is the background, others are whole body segments", + "pred_classes": "0 is the background, 104 other chanels are whole body segments", + "eval_metrics": { + "mean_dice": 0.5 + }, + "intended_use": "This is an example, not to be used for diagnostic purposes", + "references": [ + "Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868.", + "Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809." + ], + "network_data_format": { + "inputs": { + "image": { + "type": "image", + "format": "hounsfield", + "modality": "CT", + "num_channels": 1, + "spatial_shape": [ + 96, + 96, + 96 + ], + "dtype": "float32", + "value_range": [ + 0, + 1 + ], + "is_patch_data": true, + "channel_def": { + "0": "image" + } + } + }, + "outputs": { + "pred": { + "type": "image", + "format": "segmentation", + "num_channels": 105, + "spatial_shape": [ + 96, + 96, + 96 + ], + "dtype": "float32", + "value_range": [ + 0, + 104 + ], + "is_patch_data": true, + "channel_def": { + "0": "background", + "1": "spleen", + "2": "kidney_right", + "3": "kidney_left", + "4": "gallbladder", + "5": "liver", + "6": "stomach", + "7": "aorta", + "8": "inferior_vena_cava", + "9": "portal_vein_and_splenic_vein", + "10": "pancreas", + "11": "adrenal_gland_right", + "12": "adrenal_gland_left", + "13": "lung_upper_lobe_left", + "14": "lung_lower_lobe_left", + "15": "lung_upper_lobe_right", + "16": "lung_middle_lobe_right", + "17": "lung_lower_lobe_right", + "18": "vertebrae_L5", + "19": "vertebrae_L4", + "20": "vertebrae_L3", + "21": "vertebrae_L2", + "22": "vertebrae_L1", + "23": "vertebrae_T12", + "24": "vertebrae_T11", + "25": "vertebrae_T10", + "26": "vertebrae_T9", + "27": "vertebrae_T8", + "28": "vertebrae_T7", + "29": "vertebrae_T6", + "30": "vertebrae_T5", + "31": "vertebrae_T4", + "32": "vertebrae_T3", + "33": "vertebrae_T2", + "34": "vertebrae_T1", + "35": "vertebrae_C7", + "36": "vertebrae_C6", + "37": "vertebrae_C5", + "38": "vertebrae_C4", + "39": "vertebrae_C3", + "40": "vertebrae_C2", + "41": "vertebrae_C1", + "42": "esophagus", + "43": "trachea", + "44": "heart_myocardium", + "45": "heart_atrium_left", + "46": "heart_ventricle_left", + "47": "heart_atrium_right", + "48": "heart_ventricle_right", + "49": "pulmonary_artery", + "50": "brain", + "51": "iliac_artery_left", + "52": "iliac_artery_right", + "53": "iliac_vena_left", + "54": "iliac_vena_right", + "55": "small_bowel", + "56": "duodenum", + "57": "colon", + "58": "rib_left_1", + "59": "rib_left_2", + "60": "rib_left_3", + "61": "rib_left_4", + "62": "rib_left_5", + "63": "rib_left_6", + "64": "rib_left_7", + "65": "rib_left_8", + "66": "rib_left_9", + "67": "rib_left_10", + "68": "rib_left_11", + "69": "rib_left_12", + "70": "rib_right_1", + "71": "rib_right_2", + "72": "rib_right_3", + "73": "rib_right_4", + "74": "rib_right_5", + "75": "rib_right_6", + "76": "rib_right_7", + "77": "rib_right_8", + "78": "rib_right_9", + "79": "rib_right_10", + "80": "rib_right_11", + "81": "rib_right_12", + "82": "humerus_left", + "83": "humerus_right", + "84": "scapula_left", + "85": "scapula_right", + "86": "clavicula_left", + "87": "clavicula_right", + "88": "femur_left", + "89": "femur_right", + "90": "hip_left", + "91": "hip_right", + "92": "sacrum", + "93": "face", + "94": "gluteus_maximus_left", + "95": "gluteus_maximus_right", + "96": "gluteus_medius_left", + "97": "gluteus_medius_right", + "98": "gluteus_minimus_left", + "99": "gluteus_minimus_right", + "100": "autochthon_left", + "101": "autochthon_right", + "102": "iliopsoas_left", + "103": "iliopsoas_right", + "104": "urinary_bladder" + } + } + } + } +} diff --git a/models/wholeBody_ct_segmentation/configs/multi_gpu_evaluate.json b/models/wholeBody_ct_segmentation/configs/multi_gpu_evaluate.json new file mode 100644 index 00000000..f6b6c6dc --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/multi_gpu_evaluate.json @@ -0,0 +1,28 @@ +{ + "device": "$torch.device(f'cuda:{dist.get_rank()}')", + "network": { + "_target_": "torch.nn.parallel.DistributedDataParallel", + "module": "$@network_def.to(@device)", + "device_ids": [ + "@device" + ] + }, + "validate#sampler": { + "_target_": "DistributedSampler", + "dataset": "@validate#dataset", + "even_divisible": false, + "shuffle": false + }, + "validate#dataloader#sampler": "@validate#sampler", + "validate#handlers#1#_disabled_": "$dist.get_rank() > 0", + "evaluating": [ + "$import torch.distributed as dist", + "$dist.init_process_group(backend='nccl')", + "$torch.cuda.set_device(@device)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$import logging", + "$@validate#evaluator.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", + "$@validate#evaluator.run()", + "$dist.destroy_process_group()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs/multi_gpu_train.json b/models/wholeBody_ct_segmentation/configs/multi_gpu_train.json new file mode 100644 index 00000000..4161e527 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/multi_gpu_train.json @@ -0,0 +1,39 @@ +{ + "device": "$torch.device(f'cuda:{dist.get_rank()}')", + "network": { + "_target_": "torch.nn.parallel.DistributedDataParallel", + "module": "$@network_def.to(@device)", + "device_ids": [ + "@device" + ] + }, + "train#sampler": { + "_target_": "DistributedSampler", + "dataset": "@train#dataset", + "even_divisible": true, + "shuffle": true + }, + "train#dataloader#sampler": "@train#sampler", + "train#dataloader#shuffle": false, + "train#trainer#train_handlers": "$@train#handlers[: -2 if dist.get_rank() > 0 else None]", + "validate#sampler": { + "_target_": "DistributedSampler", + "dataset": "@validate#dataset", + "even_divisible": false, + "shuffle": false + }, + "validate#dataloader#sampler": "@validate#sampler", + "validate#evaluator#val_handlers": "$None if dist.get_rank() > 0 else @validate#handlers", + "training": [ + "$import torch.distributed as dist", + "$dist.init_process_group(backend='nccl')", + "$torch.cuda.set_device(@device)", + "$monai.utils.set_determinism(seed=123)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$import logging", + "$@train#trainer.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", + "$@validate#evaluator.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", + "$@train#trainer.run()", + "$dist.destroy_process_group()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json new file mode 100755 index 00000000..ede6ff0d --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/train.json @@ -0,0 +1,309 @@ +{ + "imports": [ + "$import glob", + "$import os", + "$import ignite" + ], + "bundle_root": ".", + "ckpt_dir": "$@bundle_root + '/models'", + "output_dir": "$@bundle_root + '/eval'", + "dataset_dir": "../datasets/sampleTrain", + "images": "$list(sorted(glob.glob(@dataset_dir + '/imagesTr/*.nii.gz')))", + "labels": "$list(sorted(glob.glob(@dataset_dir + '/labelsTr/*.nii.gz')))", + "val_interval": 2, + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "network_def": { + "_target_": "SegResNet", + "spatial_dims": 3, + "in_channels": 1, + "out_channels": 105, + "init_filters": 32, + "blocks_down": [ + 1, + 2, + 2, + 4 + ], + "blocks_up": [ + 1, + 1, + 1 + ], + "dropout_prob": 0.2 + }, + "network": "$@network_def.to(@device)", + "loss": { + "_target_": "DiceCELoss", + "to_onehot_y": true, + "softmax": true + }, + "optimizer": { + "_target_": "torch.optim.AdamW", + "params": "$@network.parameters()", + "lr": 0.0001, + "weight_decay": 0.00001 + }, + "train": { + "deterministic_transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 1.5, + 1.5, + 1.5 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + } + ], + "random_transforms": [ + { + "_target_": "RandSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 96, + 96, + 96 + ], + "random_size": false + } + ], + "preprocessing": { + "_target_": "Compose", + "transforms": "$@train#deterministic_transforms + @train#random_transforms" + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-1], @labels[:-1])]", + "transform": "@train#preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@train#dataset", + "batch_size": 1, + "shuffle": true, + "num_workers": 4 + }, + "inferer": { + "_target_": "SimpleInferer" + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "handlers": [ + { + "_target_": "ValidationHandler", + "validator": "@validate#evaluator", + "epoch_level": true, + "interval": "@val_interval" + }, + { + "_target_": "StatsHandler", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + } + ], + "key_metric": { + "train_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "trainer": { + "_target_": "SupervisedTrainer", + "max_epochs": 5, + "device": "@device", + "train_data_loader": "@train#dataloader", + "network": "@network", + "loss_function": "@loss", + "optimizer": "@optimizer", + "inferer": "@train#inferer", + "postprocessing": "@train#postprocessing", + "key_train_metric": "@train#key_metric", + "train_handlers": "@train#handlers", + "amp": true + } + }, + "validate": { + "preprocessing": { + "_target_": "Compose", + "transforms": "%train#deterministic_transforms" + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-1:], @labels[-1:])]", + "transform": "@validate#preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@validate#dataset", + "batch_size": 1, + "shuffle": false, + "num_workers": 2 + }, + "inferer": { + "_target_": "SlidingWindowInferer", + "roi_size": [ + 96, + 96, + 96 + ], + "sw_batch_size": 1, + "overlap": 0.4, + "device": "$torch.device('cpu')" + }, + "postprocessing": "%train#postprocessing", + "handlers": [ + { + "_target_": "StatsHandler", + "iteration_log": false + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "iteration_log": false + }, + { + "_target_": "CheckpointSaver", + "save_dir": "@ckpt_dir", + "save_dict": { + "model": "@network" + }, + "save_key_metric": true, + "key_metric_filename": "model.pt" + } + ], + "key_metric": { + "val_mean_dice": { + "_target_": "MeanDice", + "include_background": false, + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "additional_metrics": { + "val_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "evaluator": { + "_target_": "SupervisedEvaluator", + "device": "@device", + "val_data_loader": "@validate#dataloader", + "network": "@network", + "inferer": "@validate#inferer", + "postprocessing": "@validate#postprocessing", + "key_val_metric": "@validate#key_metric", + "additional_metrics": "@validate#additional_metrics", + "val_handlers": "@validate#handlers", + "amp": true + } + }, + "training": [ + "$monai.utils.set_determinism(seed=123)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@train#trainer.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md new file mode 100644 index 00000000..969c91be --- /dev/null +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -0,0 +1,113 @@ +# Model Overview +A pre-trained model for volumetric (3D) segmentation of 104 whole body segments. + +This model is trained using the SegResNet [1] network. The model is trained using TotalSegmentator datasets [2]. + +![structures](https://github.com/wasserth/TotalSegmentator/blob/master/resources/imgs/overview_classes.png) + +Figure source from the TotalSegmentator [2]. + +## Data + +The training set is the 104 whole body structures from the TotalSegmentator released datasets. Users can find more details on the datasets at https://github.com/wasserth/TotalSegmentator. + +- Target: 104 structures +- Modality: CT +- Source: TotalSegmentator +- Challenge: Large volumes of structures in CT images + +## Training configuration + +The segmentation of 104 tissues is formulated as the voxel-wise multi-label segmentation. The model is optimized with gradient descent method minimizing Dice + cross entropy loss between the predicted mask and ground truth segmentation. + +The training was performed with the following: + +- GPU: at least 24 GB of GPU memory +- Actual Model Input: 96 x 96 x 96 +- AMP: True +- Optimizer: AdamW +- Learning Rate: 1e-4 +- Loss: DiceCELoss + +### Input + +One channel +- CT image + +### Output + +105 channels +- Label 0: Background (everything else) +- TODO + +### Resource Requirements + +- TODO + +## Performance + +- TODO + + +#### Training Loss +![A graph showing the training loss over 1260 epochs (10080 iterations).](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_spleen_ct_segmentation_train_2.png) + +#### Validation Dice +![A graph showing the validation mean Dice over 1260 epochs.](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_spleen_ct_segmentation_val_2.png) + +## MONAI Bundle Commands +In addition to the Pythonic APIs, a few command line interfaces (CLI) are provided to interact with the bundle. The CLI supports flexible use cases, such as overriding configs at runtime and predefining arguments in a file. + +For more details usage instructions, visit the [MONAI Bundle Configuration Page](https://docs.monai.io/en/latest/config_syntax.html). + +#### Execute training: + +``` +python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf +``` + +#### Override the `train` config to execute multi-GPU training: + +``` +torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf +``` + +Please note that the distributed training-related options depend on the actual running environment; thus, users may need to remove `--standalone`, modify `--nnodes`, or do some other necessary changes according to the machine used. For more details, please refer to [pytorch's official tutorial](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html). + +#### Override the `train` config to execute evaluation with the trained model: + +``` +python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf +``` + +#### Override the `train` config and `evaluate` config to execute multi-GPU evaluation: + +``` +torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json','configs/multi_gpu_evaluate.json']" --logging_file configs/logging.conf +``` + +#### Execute inference: + +``` +python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf +``` + +# References +[1] Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809. + +[2] Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868. + +# License +Copyright (c) MONAI Consortium + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/models/wholeBody_ct_segmentation/docs/data_license.txt b/models/wholeBody_ct_segmentation/docs/data_license.txt new file mode 100644 index 00000000..0f702f0b --- /dev/null +++ b/models/wholeBody_ct_segmentation/docs/data_license.txt @@ -0,0 +1,6 @@ +Third Party Licenses +----------------------------------------------------------------------- + +/*********************************************************************/ +i. TotalSegmentator + https://zenodo.org/record/6802614#.Y9iTydLMJ6I diff --git a/models/wholeBody_ct_segmentation/large_files.yml b/models/wholeBody_ct_segmentation/large_files.yml new file mode 100644 index 00000000..a781b1c1 --- /dev/null +++ b/models/wholeBody_ct_segmentation/large_files.yml @@ -0,0 +1,5 @@ +large_files: + - path: "models/model.pt" + url: "https://drive.google.com/file/d/1FOe-GL0uKe9SdPWvw8-0hRJsJwgmSy3m/view?usp=share_link" + hash_val: "b418a2dc8672ce2fd98dc255036e7a3d" + hash_type: "md5" From e535525a643bba5040d6ca24e38ecb005c171409 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 30 Jan 2023 21:44:01 -0800 Subject: [PATCH 02/15] add basic config files Signed-off-by: tangy5 --- models/wholeBody_ct_segmentation/docs/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index 969c91be..f38869c3 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -50,10 +50,10 @@ One channel #### Training Loss -![A graph showing the training loss over 1260 epochs (10080 iterations).](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_spleen_ct_segmentation_train_2.png) +![A graph showing the training loss over 200 epochs (over 100,000 iterations).] #### Validation Dice -![A graph showing the validation mean Dice over 1260 epochs.](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_spleen_ct_segmentation_val_2.png) +![A graph showing the validation mean Dice over 100 epochs.] ## MONAI Bundle Commands In addition to the Pythonic APIs, a few command line interfaces (CLI) are provided to interact with the bundle. The CLI supports flexible use cases, such as overriding configs at runtime and predefining arguments in a file. From e2a2409ff415640c1608dd76885603bc3a83443d Mon Sep 17 00:00:00 2001 From: tangy5 Date: Tue, 31 Jan 2023 20:00:31 -0800 Subject: [PATCH 03/15] update training pipeline and supports multi-gpu train Signed-off-by: tangy5 --- .../configs/inference.json | 4 +- .../configs/train.json | 144 ++++++++++++++++-- 2 files changed, 130 insertions(+), 18 deletions(-) diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index 312ef5a1..afbb7050 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -96,10 +96,10 @@ 96 ], "sw_batch_size": 1, - "overlap": 0.4, + "overlap": 0.3, "padding_mode": "replicate", "mode": "gaussian", - "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" + "device": "$torch.device('cpu')" }, "postprocessing": { "_target_": "Compose", diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json index ede6ff0d..9011492e 100755 --- a/models/wholeBody_ct_segmentation/configs/train.json +++ b/models/wholeBody_ct_segmentation/configs/train.json @@ -7,10 +7,10 @@ "bundle_root": ".", "ckpt_dir": "$@bundle_root + '/models'", "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/sampleTrain", - "images": "$list(sorted(glob.glob(@dataset_dir + '/imagesTr/*.nii.gz')))", - "labels": "$list(sorted(glob.glob(@dataset_dir + '/labelsTr/*.nii.gz')))", - "val_interval": 2, + "dataset_dir": "../datasets/totalSegmentator", + "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", + "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", + "val_interval": 5, "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "network_def": { "_target_": "SegResNet", @@ -150,16 +150,18 @@ "transforms": "$@train#deterministic_transforms + @train#random_transforms" }, "dataset": { - "_target_": "Dataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-1], @labels[:-1])]", - "transform": "@train#preprocessing" + "_target_": "CacheDataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-200], @labels[:-200])]", + "transform": "@train#preprocessing", + "cache_rate": 0.5, + "num_workers": 8 }, "dataloader": { "_target_": "DataLoader", "dataset": "@train#dataset", - "batch_size": 1, + "batch_size": 16, "shuffle": true, - "num_workers": 4 + "num_workers": 8 }, "inferer": { "_target_": "SimpleInferer" @@ -213,7 +215,7 @@ }, "trainer": { "_target_": "SupervisedTrainer", - "max_epochs": 5, + "max_epochs": 1000, "device": "@device", "train_data_loader": "@train#dataloader", "network": "@network", @@ -229,11 +231,123 @@ "validate": { "preprocessing": { "_target_": "Compose", - "transforms": "%train#deterministic_transforms" + "transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 1.5, + 1.5, + 1.5 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "CenterSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 160, + 160, + 160 + ] + } + ] + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] }, "dataset": { "_target_": "Dataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-1:], @labels[-1:])]", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-200:], @labels[-200:])]", "transform": "@validate#preprocessing" }, "dataloader": { @@ -241,7 +355,7 @@ "dataset": "@validate#dataset", "batch_size": 1, "shuffle": false, - "num_workers": 2 + "num_workers": 4 }, "inferer": { "_target_": "SlidingWindowInferer", @@ -251,10 +365,8 @@ 96 ], "sw_batch_size": 1, - "overlap": 0.4, - "device": "$torch.device('cpu')" + "overlap": 0.25 }, - "postprocessing": "%train#postprocessing", "handlers": [ { "_target_": "StatsHandler", From 876c15846a7ab08516bbc5d74183e80850a134b9 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 6 Feb 2023 14:23:54 -0800 Subject: [PATCH 04/15] updates on 3mm training Signed-off-by: tangy5 --- .../configs/inference.json | 4 +- .../configs/train.json | 12 +- .../configs/train_3mm.json | 421 ++++++++++++++++++ .../wholeBody_ct_segmentation/docs/README.md | 22 +- .../imgs/totalsegmentator_15mm_validation.png | Bin 0 -> 26234 bytes .../imgs/totalsegmentator_train_accuracy.png | Bin 0 -> 31928 bytes 6 files changed, 448 insertions(+), 11 deletions(-) create mode 100755 models/wholeBody_ct_segmentation/configs/train_3mm.json create mode 100644 models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_15mm_validation.png create mode 100644 models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_train_accuracy.png diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index afbb7050..ba9380e9 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -4,8 +4,8 @@ "$import os" ], "bundle_root": ".", - "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/Task09_Spleen", + "output_dir": "$@bundle_root + '/eval_v2'", + "dataset_dir": "../datasets/totalSegmentator", "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "network_def": { diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json index 9011492e..41c5ce48 100755 --- a/models/wholeBody_ct_segmentation/configs/train.json +++ b/models/wholeBody_ct_segmentation/configs/train.json @@ -10,7 +10,7 @@ "dataset_dir": "../datasets/totalSegmentator", "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", - "val_interval": 5, + "val_interval": 20, "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "network_def": { "_target_": "SegResNet", @@ -151,17 +151,17 @@ }, "dataset": { "_target_": "CacheDataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-200], @labels[:-200])]", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", "transform": "@train#preprocessing", - "cache_rate": 0.5, - "num_workers": 8 + "cache_rate": 0.4, + "num_workers": 4 }, "dataloader": { "_target_": "DataLoader", "dataset": "@train#dataset", "batch_size": 16, "shuffle": true, - "num_workers": 8 + "num_workers": 4 }, "inferer": { "_target_": "SimpleInferer" @@ -215,7 +215,7 @@ }, "trainer": { "_target_": "SupervisedTrainer", - "max_epochs": 1000, + "max_epochs": 4000, "device": "@device", "train_data_loader": "@train#dataloader", "network": "@network", diff --git a/models/wholeBody_ct_segmentation/configs/train_3mm.json b/models/wholeBody_ct_segmentation/configs/train_3mm.json new file mode 100755 index 00000000..abf4df68 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs/train_3mm.json @@ -0,0 +1,421 @@ +{ + "imports": [ + "$import glob", + "$import os", + "$import ignite" + ], + "bundle_root": ".", + "ckpt_dir": "$@bundle_root + '/models'", + "output_dir": "$@bundle_root + '/eval'", + "dataset_dir": "../datasets/totalSegmentator", + "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", + "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", + "val_interval": 20, + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "network_def": { + "_target_": "SegResNet", + "spatial_dims": 3, + "in_channels": 1, + "out_channels": 105, + "init_filters": 32, + "blocks_down": [ + 1, + 2, + 2, + 4 + ], + "blocks_up": [ + 1, + 1, + 1 + ], + "dropout_prob": 0.2 + }, + "network": "$@network_def.to(@device)", + "loss": { + "_target_": "DiceCELoss", + "to_onehot_y": true, + "softmax": true + }, + "optimizer": { + "_target_": "torch.optim.AdamW", + "params": "$@network.parameters()", + "lr": 0.0001, + "weight_decay": 0.00001 + }, + "train": { + "deterministic_transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 3, + 3, + 3 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + } + ], + "random_transforms": [ + { + "_target_": "RandSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 96, + 96, + 96 + ], + "random_size": false + } + ], + "preprocessing": { + "_target_": "Compose", + "transforms": "$@train#deterministic_transforms + @train#random_transforms" + }, + "dataset": { + "_target_": "CacheDataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", + "transform": "@train#preprocessing", + "cache_rate": 1.0, + "num_workers": 4 + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@train#dataset", + "batch_size": 16, + "shuffle": true, + "num_workers": 4 + }, + "inferer": { + "_target_": "SimpleInferer" + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "handlers": [ + { + "_target_": "ValidationHandler", + "validator": "@validate#evaluator", + "epoch_level": true, + "interval": "@val_interval" + }, + { + "_target_": "StatsHandler", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + } + ], + "key_metric": { + "train_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "trainer": { + "_target_": "SupervisedTrainer", + "max_epochs": 4000, + "device": "@device", + "train_data_loader": "@train#dataloader", + "network": "@network", + "loss_function": "@loss", + "optimizer": "@optimizer", + "inferer": "@train#inferer", + "postprocessing": "@train#postprocessing", + "key_train_metric": "@train#key_metric", + "train_handlers": "@train#handlers", + "amp": true + } + }, + "validate": { + "preprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 3, + 3, + 3 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "CenterSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 160, + 160, + 160 + ] + } + ] + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-57:], @labels[-57:])]", + "transform": "@validate#preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@validate#dataset", + "batch_size": 1, + "shuffle": false, + "num_workers": 4 + }, + "inferer": { + "_target_": "SlidingWindowInferer", + "roi_size": [ + 96, + 96, + 96 + ], + "sw_batch_size": 1, + "overlap": 0.25 + }, + "handlers": [ + { + "_target_": "StatsHandler", + "iteration_log": false + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "iteration_log": false + }, + { + "_target_": "CheckpointSaver", + "save_dir": "@ckpt_dir", + "save_dict": { + "model": "@network" + }, + "save_key_metric": true, + "key_metric_filename": "model.pt" + } + ], + "key_metric": { + "val_mean_dice": { + "_target_": "MeanDice", + "include_background": false, + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "additional_metrics": { + "val_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "evaluator": { + "_target_": "SupervisedEvaluator", + "device": "@device", + "val_data_loader": "@validate#dataloader", + "network": "@network", + "inferer": "@validate#inferer", + "postprocessing": "@validate#postprocessing", + "key_val_metric": "@validate#key_metric", + "additional_metrics": "@validate#additional_metrics", + "val_handlers": "@validate#handlers", + "amp": true + } + }, + "training": [ + "$monai.utils.set_determinism(seed=123)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@train#trainer.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index f38869c3..e7eba3e0 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -22,7 +22,7 @@ The segmentation of 104 tissues is formulated as the voxel-wise multi-label segm The training was performed with the following: -- GPU: at least 24 GB of GPU memory +- GPU: 32 GB of GPU memory - Actual Model Input: 96 x 96 x 96 - AMP: True - Optimizer: AdamW @@ -38,15 +38,31 @@ One channel 105 channels - Label 0: Background (everything else) -- TODO +- label 1-105: Foreground classes (104) ### Resource Requirements - TODO +### Implementation Details + + + ## Performance -- TODO +- 3.0 mm Model Training + + +- 1.5 mm Model Training + + - Training Accuracy + +![](./imgs/totalsegmentator_train_accuracy.png)
+ + - Validation Dice + +![](./imgs/totalsegmentator_15mm_validation.png)
+ #### Training Loss diff --git a/models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_15mm_validation.png b/models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_15mm_validation.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f9a57663d8f8acf19ba9e366e20af6f3e1ed7 GIT binary patch literal 26234 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 Date: Tue, 7 Feb 2023 13:00:58 -0800 Subject: [PATCH 05/15] update 15mm 3mm models Signed-off-by: tangy5 --- .../configs/inference.json | 21 +- .../configs_3mm/evaluate.json | 78 ++++ .../configs_3mm/inference.json | 156 +++++++ .../configs_3mm/logging.conf | 21 + .../configs_3mm/metadata.json | 181 ++++++++ .../configs_3mm/multi_gpu_evaluate.json | 28 ++ .../configs_3mm/multi_gpu_train.json | 39 ++ .../configs_3mm/train.json | 421 ++++++++++++++++++ .../configs_3mm/train_3mm.json | 421 ++++++++++++++++++ .../wholeBody_ct_segmentation/docs/README.md | 2 +- .../wholeBody_ct_segmentation/large_files.yml | 6 +- 11 files changed, 1357 insertions(+), 17 deletions(-) create mode 100644 models/wholeBody_ct_segmentation/configs_3mm/evaluate.json create mode 100644 models/wholeBody_ct_segmentation/configs_3mm/inference.json create mode 100644 models/wholeBody_ct_segmentation/configs_3mm/logging.conf create mode 100644 models/wholeBody_ct_segmentation/configs_3mm/metadata.json create mode 100644 models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json create mode 100644 models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json create mode 100755 models/wholeBody_ct_segmentation/configs_3mm/train.json create mode 100755 models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index ba9380e9..5e99bc3f 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -63,11 +63,6 @@ "keys": "image", "nonzero": true }, - { - "_target_": "GaussianSmoothd", - "keys": "image", - "sigma": 0.4 - }, { "_target_": "ScaleIntensityd", "keys": "image", @@ -96,10 +91,10 @@ 96 ], "sw_batch_size": 1, - "overlap": 0.3, + "overlap": 0.25, "padding_mode": "replicate", "mode": "gaussian", - "device": "$torch.device('cpu')" + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" }, "postprocessing": { "_target_": "Compose", @@ -109,20 +104,20 @@ "keys": "pred", "softmax": true }, + { + "_target_": "AsDiscreted", + "keys": "pred", + "argmax": true + }, { "_target_": "Invertd", "keys": "pred", "transform": "@preprocessing", "orig_keys": "image", "meta_key_postfix": "meta_dict", - "nearest_interp": false, + "nearest_interp": true, "to_tensor": true }, - { - "_target_": "AsDiscreted", - "keys": "pred", - "argmax": true - }, { "_target_": "SaveImaged", "keys": "pred", diff --git a/models/wholeBody_ct_segmentation/configs_3mm/evaluate.json b/models/wholeBody_ct_segmentation/configs_3mm/evaluate.json new file mode 100644 index 00000000..7e7c7530 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/evaluate.json @@ -0,0 +1,78 @@ +{ + "validate#postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + }, + { + "_target_": "Invertd", + "keys": [ + "pred", + "label" + ], + "transform": "@validate#preprocessing", + "orig_keys": "image", + "meta_key_postfix": "meta_dict", + "nearest_interp": [ + false, + true + ], + "to_tensor": true + }, + { + "_target_": "SaveImaged", + "_disabled_": true, + "keys": "pred", + "meta_keys": "pred_meta_dict", + "output_dir": "@output_dir", + "resample": false, + "squeeze_end_dims": true + } + ] + }, + "validate#handlers": [ + { + "_target_": "CheckpointLoader", + "load_path": "$@ckpt_dir + '/model.pt'", + "load_dict": { + "model": "@network" + } + }, + { + "_target_": "StatsHandler", + "iteration_log": false + }, + { + "_target_": "MetricsSaver", + "save_dir": "@output_dir", + "metrics": [ + "val_mean_dice", + "val_acc" + ], + "metric_details": [ + "val_mean_dice" + ], + "batch_transform": "$monai.handlers.from_engine(['image_meta_dict'])", + "summary_ops": "*" + } + ], + "evaluating": [ + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@validate#evaluator.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/inference.json b/models/wholeBody_ct_segmentation/configs_3mm/inference.json new file mode 100644 index 00000000..dd38b332 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/inference.json @@ -0,0 +1,156 @@ +{ + "imports": [ + "$import glob", + "$import os" + ], + "bundle_root": ".", + "output_dir": "$@bundle_root + '/eval_v2'", + "dataset_dir": "../datasets/totalSegmentator", + "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "network_def": { + "_target_": "SegResNet", + "spatial_dims": 3, + "in_channels": 1, + "out_channels": 105, + "init_filters": 32, + "blocks_down": [ + 1, + 2, + 2, + 4 + ], + "blocks_up": [ + 1, + 1, + 1 + ], + "dropout_prob": 0.2 + }, + "network": "$@network_def.to(@device)", + "preprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "LoadImaged", + "keys": "image" + }, + { + "_target_": "EnsureTyped", + "keys": "image" + }, + { + "_target_": "EnsureChannelFirstd", + "keys": "image" + }, + { + "_target_": "Orientationd", + "keys": "image", + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": "image", + "pixdim": [ + 3.0, + 3.0, + 3.0 + ], + "mode": "bilinear" + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + } + ] + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i} for i in @datalist]", + "transform": "@preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@dataset", + "batch_size": 1, + "shuffle": false, + "num_workers": 1 + }, + "inferer": { + "_target_": "SlidingWindowInferer", + "roi_size": [ + 96, + 96, + 96 + ], + "sw_batch_size": 1, + "overlap": 0.25, + "padding_mode": "replicate", + "mode": "gaussian", + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": "pred", + "argmax": true + }, + { + "_target_": "Invertd", + "keys": "pred", + "transform": "@preprocessing", + "orig_keys": "image", + "meta_key_postfix": "meta_dict", + "nearest_interp": true, + "to_tensor": true + }, + { + "_target_": "SaveImaged", + "keys": "pred", + "meta_keys": "pred_meta_dict", + "output_dir": "@output_dir" + } + ] + }, + "handlers": [ + { + "_target_": "CheckpointLoader", + "load_path": "$@bundle_root + '/models/model.pt'", + "load_dict": { + "model": "@network" + } + }, + { + "_target_": "StatsHandler", + "iteration_log": false + } + ], + "evaluator": { + "_target_": "SupervisedEvaluator", + "device": "@device", + "val_data_loader": "@dataloader", + "network": "@network", + "inferer": "@inferer", + "postprocessing": "@postprocessing", + "val_handlers": "@handlers", + "amp": true + }, + "evaluating": [ + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@evaluator.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/logging.conf b/models/wholeBody_ct_segmentation/configs_3mm/logging.conf new file mode 100644 index 00000000..91c1a21c --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/logging.conf @@ -0,0 +1,21 @@ +[loggers] +keys=root + +[handlers] +keys=consoleHandler + +[formatters] +keys=fullFormatter + +[logger_root] +level=INFO +handlers=consoleHandler + +[handler_consoleHandler] +class=StreamHandler +level=INFO +formatter=fullFormatter +args=(sys.stdout,) + +[formatter_fullFormatter] +format=%(asctime)s - %(name)s - %(levelname)s - %(message)s diff --git a/models/wholeBody_ct_segmentation/configs_3mm/metadata.json b/models/wholeBody_ct_segmentation/configs_3mm/metadata.json new file mode 100644 index 00000000..3db9b7bf --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/metadata.json @@ -0,0 +1,181 @@ +{ + "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json", + "version": "0.1.0", + "changelog": { + "0.1.0": "complete the model package", + "0.0.1": "initialize the model package structure" + }, + "monai_version": "1.1.0", + "pytorch_version": "1.13.0", + "numpy_version": "1.21.2", + "optional_packages_version": { + "nibabel": "4.0.1", + "pytorch-ignite": "0.4.9" + }, + "task": "Whole Body CT Segmentation", + "description": "A pre-trained SegResNet model for volumetric (3D) segmentation of the 104 whole body segments", + "authors": "MONAI team", + "copyright": "Copyright (c) MONAI Consortium", + "data_source": "TotalSegmentator", + "data_type": "nibabel", + "image_classes": "104 foreground channels, 0 channel for the background, intensity scaled to [0, 1]", + "label_classes": "0 is the background, others are whole body segments", + "pred_classes": "0 is the background, 104 other chanels are whole body segments", + "eval_metrics": { + "mean_dice": 0.5 + }, + "intended_use": "This is an example, not to be used for diagnostic purposes", + "references": [ + "Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868.", + "Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809." + ], + "network_data_format": { + "inputs": { + "image": { + "type": "image", + "format": "hounsfield", + "modality": "CT", + "num_channels": 1, + "spatial_shape": [ + 96, + 96, + 96 + ], + "dtype": "float32", + "value_range": [ + 0, + 1 + ], + "is_patch_data": true, + "channel_def": { + "0": "image" + } + } + }, + "outputs": { + "pred": { + "type": "image", + "format": "segmentation", + "num_channels": 105, + "spatial_shape": [ + 96, + 96, + 96 + ], + "dtype": "float32", + "value_range": [ + 0, + 104 + ], + "is_patch_data": true, + "channel_def": { + "0": "background", + "1": "spleen", + "2": "kidney_right", + "3": "kidney_left", + "4": "gallbladder", + "5": "liver", + "6": "stomach", + "7": "aorta", + "8": "inferior_vena_cava", + "9": "portal_vein_and_splenic_vein", + "10": "pancreas", + "11": "adrenal_gland_right", + "12": "adrenal_gland_left", + "13": "lung_upper_lobe_left", + "14": "lung_lower_lobe_left", + "15": "lung_upper_lobe_right", + "16": "lung_middle_lobe_right", + "17": "lung_lower_lobe_right", + "18": "vertebrae_L5", + "19": "vertebrae_L4", + "20": "vertebrae_L3", + "21": "vertebrae_L2", + "22": "vertebrae_L1", + "23": "vertebrae_T12", + "24": "vertebrae_T11", + "25": "vertebrae_T10", + "26": "vertebrae_T9", + "27": "vertebrae_T8", + "28": "vertebrae_T7", + "29": "vertebrae_T6", + "30": "vertebrae_T5", + "31": "vertebrae_T4", + "32": "vertebrae_T3", + "33": "vertebrae_T2", + "34": "vertebrae_T1", + "35": "vertebrae_C7", + "36": "vertebrae_C6", + "37": "vertebrae_C5", + "38": "vertebrae_C4", + "39": "vertebrae_C3", + "40": "vertebrae_C2", + "41": "vertebrae_C1", + "42": "esophagus", + "43": "trachea", + "44": "heart_myocardium", + "45": "heart_atrium_left", + "46": "heart_ventricle_left", + "47": "heart_atrium_right", + "48": "heart_ventricle_right", + "49": "pulmonary_artery", + "50": "brain", + "51": "iliac_artery_left", + "52": "iliac_artery_right", + "53": "iliac_vena_left", + "54": "iliac_vena_right", + "55": "small_bowel", + "56": "duodenum", + "57": "colon", + "58": "rib_left_1", + "59": "rib_left_2", + "60": "rib_left_3", + "61": "rib_left_4", + "62": "rib_left_5", + "63": "rib_left_6", + "64": "rib_left_7", + "65": "rib_left_8", + "66": "rib_left_9", + "67": "rib_left_10", + "68": "rib_left_11", + "69": "rib_left_12", + "70": "rib_right_1", + "71": "rib_right_2", + "72": "rib_right_3", + "73": "rib_right_4", + "74": "rib_right_5", + "75": "rib_right_6", + "76": "rib_right_7", + "77": "rib_right_8", + "78": "rib_right_9", + "79": "rib_right_10", + "80": "rib_right_11", + "81": "rib_right_12", + "82": "humerus_left", + "83": "humerus_right", + "84": "scapula_left", + "85": "scapula_right", + "86": "clavicula_left", + "87": "clavicula_right", + "88": "femur_left", + "89": "femur_right", + "90": "hip_left", + "91": "hip_right", + "92": "sacrum", + "93": "face", + "94": "gluteus_maximus_left", + "95": "gluteus_maximus_right", + "96": "gluteus_medius_left", + "97": "gluteus_medius_right", + "98": "gluteus_minimus_left", + "99": "gluteus_minimus_right", + "100": "autochthon_left", + "101": "autochthon_right", + "102": "iliopsoas_left", + "103": "iliopsoas_right", + "104": "urinary_bladder" + } + } + } + } +} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json b/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json new file mode 100644 index 00000000..f6b6c6dc --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json @@ -0,0 +1,28 @@ +{ + "device": "$torch.device(f'cuda:{dist.get_rank()}')", + "network": { + "_target_": "torch.nn.parallel.DistributedDataParallel", + "module": "$@network_def.to(@device)", + "device_ids": [ + "@device" + ] + }, + "validate#sampler": { + "_target_": "DistributedSampler", + "dataset": "@validate#dataset", + "even_divisible": false, + "shuffle": false + }, + "validate#dataloader#sampler": "@validate#sampler", + "validate#handlers#1#_disabled_": "$dist.get_rank() > 0", + "evaluating": [ + "$import torch.distributed as dist", + "$dist.init_process_group(backend='nccl')", + "$torch.cuda.set_device(@device)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$import logging", + "$@validate#evaluator.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", + "$@validate#evaluator.run()", + "$dist.destroy_process_group()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json b/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json new file mode 100644 index 00000000..4161e527 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json @@ -0,0 +1,39 @@ +{ + "device": "$torch.device(f'cuda:{dist.get_rank()}')", + "network": { + "_target_": "torch.nn.parallel.DistributedDataParallel", + "module": "$@network_def.to(@device)", + "device_ids": [ + "@device" + ] + }, + "train#sampler": { + "_target_": "DistributedSampler", + "dataset": "@train#dataset", + "even_divisible": true, + "shuffle": true + }, + "train#dataloader#sampler": "@train#sampler", + "train#dataloader#shuffle": false, + "train#trainer#train_handlers": "$@train#handlers[: -2 if dist.get_rank() > 0 else None]", + "validate#sampler": { + "_target_": "DistributedSampler", + "dataset": "@validate#dataset", + "even_divisible": false, + "shuffle": false + }, + "validate#dataloader#sampler": "@validate#sampler", + "validate#evaluator#val_handlers": "$None if dist.get_rank() > 0 else @validate#handlers", + "training": [ + "$import torch.distributed as dist", + "$dist.init_process_group(backend='nccl')", + "$torch.cuda.set_device(@device)", + "$monai.utils.set_determinism(seed=123)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$import logging", + "$@train#trainer.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", + "$@validate#evaluator.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", + "$@train#trainer.run()", + "$dist.destroy_process_group()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/train.json b/models/wholeBody_ct_segmentation/configs_3mm/train.json new file mode 100755 index 00000000..41c5ce48 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/train.json @@ -0,0 +1,421 @@ +{ + "imports": [ + "$import glob", + "$import os", + "$import ignite" + ], + "bundle_root": ".", + "ckpt_dir": "$@bundle_root + '/models'", + "output_dir": "$@bundle_root + '/eval'", + "dataset_dir": "../datasets/totalSegmentator", + "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", + "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", + "val_interval": 20, + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "network_def": { + "_target_": "SegResNet", + "spatial_dims": 3, + "in_channels": 1, + "out_channels": 105, + "init_filters": 32, + "blocks_down": [ + 1, + 2, + 2, + 4 + ], + "blocks_up": [ + 1, + 1, + 1 + ], + "dropout_prob": 0.2 + }, + "network": "$@network_def.to(@device)", + "loss": { + "_target_": "DiceCELoss", + "to_onehot_y": true, + "softmax": true + }, + "optimizer": { + "_target_": "torch.optim.AdamW", + "params": "$@network.parameters()", + "lr": 0.0001, + "weight_decay": 0.00001 + }, + "train": { + "deterministic_transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 1.5, + 1.5, + 1.5 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + } + ], + "random_transforms": [ + { + "_target_": "RandSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 96, + 96, + 96 + ], + "random_size": false + } + ], + "preprocessing": { + "_target_": "Compose", + "transforms": "$@train#deterministic_transforms + @train#random_transforms" + }, + "dataset": { + "_target_": "CacheDataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", + "transform": "@train#preprocessing", + "cache_rate": 0.4, + "num_workers": 4 + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@train#dataset", + "batch_size": 16, + "shuffle": true, + "num_workers": 4 + }, + "inferer": { + "_target_": "SimpleInferer" + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "handlers": [ + { + "_target_": "ValidationHandler", + "validator": "@validate#evaluator", + "epoch_level": true, + "interval": "@val_interval" + }, + { + "_target_": "StatsHandler", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + } + ], + "key_metric": { + "train_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "trainer": { + "_target_": "SupervisedTrainer", + "max_epochs": 4000, + "device": "@device", + "train_data_loader": "@train#dataloader", + "network": "@network", + "loss_function": "@loss", + "optimizer": "@optimizer", + "inferer": "@train#inferer", + "postprocessing": "@train#postprocessing", + "key_train_metric": "@train#key_metric", + "train_handlers": "@train#handlers", + "amp": true + } + }, + "validate": { + "preprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 1.5, + 1.5, + 1.5 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "CenterSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 160, + 160, + 160 + ] + } + ] + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-200:], @labels[-200:])]", + "transform": "@validate#preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@validate#dataset", + "batch_size": 1, + "shuffle": false, + "num_workers": 4 + }, + "inferer": { + "_target_": "SlidingWindowInferer", + "roi_size": [ + 96, + 96, + 96 + ], + "sw_batch_size": 1, + "overlap": 0.25 + }, + "handlers": [ + { + "_target_": "StatsHandler", + "iteration_log": false + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "iteration_log": false + }, + { + "_target_": "CheckpointSaver", + "save_dir": "@ckpt_dir", + "save_dict": { + "model": "@network" + }, + "save_key_metric": true, + "key_metric_filename": "model.pt" + } + ], + "key_metric": { + "val_mean_dice": { + "_target_": "MeanDice", + "include_background": false, + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "additional_metrics": { + "val_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "evaluator": { + "_target_": "SupervisedEvaluator", + "device": "@device", + "val_data_loader": "@validate#dataloader", + "network": "@network", + "inferer": "@validate#inferer", + "postprocessing": "@validate#postprocessing", + "key_val_metric": "@validate#key_metric", + "additional_metrics": "@validate#additional_metrics", + "val_handlers": "@validate#handlers", + "amp": true + } + }, + "training": [ + "$monai.utils.set_determinism(seed=123)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@train#trainer.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json b/models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json new file mode 100755 index 00000000..abf4df68 --- /dev/null +++ b/models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json @@ -0,0 +1,421 @@ +{ + "imports": [ + "$import glob", + "$import os", + "$import ignite" + ], + "bundle_root": ".", + "ckpt_dir": "$@bundle_root + '/models'", + "output_dir": "$@bundle_root + '/eval'", + "dataset_dir": "../datasets/totalSegmentator", + "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", + "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", + "val_interval": 20, + "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "network_def": { + "_target_": "SegResNet", + "spatial_dims": 3, + "in_channels": 1, + "out_channels": 105, + "init_filters": 32, + "blocks_down": [ + 1, + 2, + 2, + 4 + ], + "blocks_up": [ + 1, + 1, + 1 + ], + "dropout_prob": 0.2 + }, + "network": "$@network_def.to(@device)", + "loss": { + "_target_": "DiceCELoss", + "to_onehot_y": true, + "softmax": true + }, + "optimizer": { + "_target_": "torch.optim.AdamW", + "params": "$@network.parameters()", + "lr": 0.0001, + "weight_decay": 0.00001 + }, + "train": { + "deterministic_transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 3, + 3, + 3 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + } + ], + "random_transforms": [ + { + "_target_": "RandSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 96, + 96, + 96 + ], + "random_size": false + } + ], + "preprocessing": { + "_target_": "Compose", + "transforms": "$@train#deterministic_transforms + @train#random_transforms" + }, + "dataset": { + "_target_": "CacheDataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", + "transform": "@train#preprocessing", + "cache_rate": 1.0, + "num_workers": 4 + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@train#dataset", + "batch_size": 16, + "shuffle": true, + "num_workers": 4 + }, + "inferer": { + "_target_": "SimpleInferer" + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "handlers": [ + { + "_target_": "ValidationHandler", + "validator": "@validate#evaluator", + "epoch_level": true, + "interval": "@val_interval" + }, + { + "_target_": "StatsHandler", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "tag_name": "train_loss", + "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" + } + ], + "key_metric": { + "train_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "trainer": { + "_target_": "SupervisedTrainer", + "max_epochs": 4000, + "device": "@device", + "train_data_loader": "@train#dataloader", + "network": "@network", + "loss_function": "@loss", + "optimizer": "@optimizer", + "inferer": "@train#inferer", + "postprocessing": "@train#postprocessing", + "key_train_metric": "@train#key_metric", + "train_handlers": "@train#handlers", + "amp": true + } + }, + "validate": { + "preprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "LoadImaged", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureChannelFirstd", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "EnsureTyped", + "keys": [ + "image", + "label" + ] + }, + { + "_target_": "Orientationd", + "keys": [ + "image", + "label" + ], + "axcodes": "RAS" + }, + { + "_target_": "Spacingd", + "keys": [ + "image", + "label" + ], + "pixdim": [ + 3, + 3, + 3 + ], + "mode": [ + "bilinear", + "nearest" + ] + }, + { + "_target_": "NormalizeIntensityd", + "keys": "image", + "nonzero": true + }, + { + "_target_": "CropForegroundd", + "keys": [ + "image", + "label" + ], + "source_key": "image", + "margin": 10, + "k_divisible": [ + 96, + 96, + 96 + ] + }, + { + "_target_": "GaussianSmoothd", + "keys": [ + "image" + ], + "sigma": 0.4 + }, + { + "_target_": "ScaleIntensityd", + "keys": "image", + "minv": -1.0, + "maxv": 1.0 + }, + { + "_target_": "CenterSpatialCropd", + "keys": [ + "image", + "label" + ], + "roi_size": [ + 160, + 160, + 160 + ] + } + ] + }, + "postprocessing": { + "_target_": "Compose", + "transforms": [ + { + "_target_": "Activationsd", + "keys": "pred", + "softmax": true + }, + { + "_target_": "AsDiscreted", + "keys": [ + "pred", + "label" + ], + "argmax": [ + true, + false + ], + "to_onehot": 105 + } + ] + }, + "dataset": { + "_target_": "Dataset", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-57:], @labels[-57:])]", + "transform": "@validate#preprocessing" + }, + "dataloader": { + "_target_": "DataLoader", + "dataset": "@validate#dataset", + "batch_size": 1, + "shuffle": false, + "num_workers": 4 + }, + "inferer": { + "_target_": "SlidingWindowInferer", + "roi_size": [ + 96, + 96, + 96 + ], + "sw_batch_size": 1, + "overlap": 0.25 + }, + "handlers": [ + { + "_target_": "StatsHandler", + "iteration_log": false + }, + { + "_target_": "TensorBoardStatsHandler", + "log_dir": "@output_dir", + "iteration_log": false + }, + { + "_target_": "CheckpointSaver", + "save_dir": "@ckpt_dir", + "save_dict": { + "model": "@network" + }, + "save_key_metric": true, + "key_metric_filename": "model.pt" + } + ], + "key_metric": { + "val_mean_dice": { + "_target_": "MeanDice", + "include_background": false, + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "additional_metrics": { + "val_accuracy": { + "_target_": "ignite.metrics.Accuracy", + "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" + } + }, + "evaluator": { + "_target_": "SupervisedEvaluator", + "device": "@device", + "val_data_loader": "@validate#dataloader", + "network": "@network", + "inferer": "@validate#inferer", + "postprocessing": "@validate#postprocessing", + "key_val_metric": "@validate#key_metric", + "additional_metrics": "@validate#additional_metrics", + "val_handlers": "@validate#handlers", + "amp": true + } + }, + "training": [ + "$monai.utils.set_determinism(seed=123)", + "$setattr(torch.backends.cudnn, 'benchmark', True)", + "$@train#trainer.run()" + ] +} diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index e7eba3e0..82d2342f 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -18,7 +18,7 @@ The training set is the 104 whole body structures from the TotalSegmentator rele ## Training configuration -The segmentation of 104 tissues is formulated as the voxel-wise multi-label segmentation. The model is optimized with gradient descent method minimizing Dice + cross entropy loss between the predicted mask and ground truth segmentation. +The segmentation of 104 tissues is formulated as the voxel-wise multi-label segmentation. The model is optimized with the gradient descent method minimizing Dice + cross entropy loss between the predicted mask and ground truth segmentation. The training was performed with the following: diff --git a/models/wholeBody_ct_segmentation/large_files.yml b/models/wholeBody_ct_segmentation/large_files.yml index a781b1c1..29afcb66 100644 --- a/models/wholeBody_ct_segmentation/large_files.yml +++ b/models/wholeBody_ct_segmentation/large_files.yml @@ -1,5 +1,5 @@ large_files: - path: "models/model.pt" - url: "https://drive.google.com/file/d/1FOe-GL0uKe9SdPWvw8-0hRJsJwgmSy3m/view?usp=share_link" - hash_val: "b418a2dc8672ce2fd98dc255036e7a3d" - hash_type: "md5" + url: "https://drive.google.com/file/d/1PHpFWboimEXmMSe2vBra6T8SaCMC2SHT/view?usp=share_link" + hash_val: "" + hash_type: "" From 72731ff55dcb1251abedda19703abc2db1c8b801 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Fri, 10 Feb 2023 12:15:28 -0800 Subject: [PATCH 06/15] set options for inferences Signed-off-by: tangy5 --- .../configs/inference.json | 24 +- .../configs/train_3mm.json | 421 ------------------ .../configs_3mm/evaluate.json | 78 ---- .../configs_3mm/inference.json | 156 ------- .../configs_3mm/logging.conf | 21 - .../configs_3mm/metadata.json | 181 -------- .../configs_3mm/multi_gpu_evaluate.json | 28 -- .../configs_3mm/multi_gpu_train.json | 39 -- .../configs_3mm/train.json | 421 ------------------ .../configs_3mm/train_3mm.json | 421 ------------------ .../wholeBody_ct_segmentation/large_files.yml | 4 + 11 files changed, 19 insertions(+), 1775 deletions(-) delete mode 100755 models/wholeBody_ct_segmentation/configs/train_3mm.json delete mode 100644 models/wholeBody_ct_segmentation/configs_3mm/evaluate.json delete mode 100644 models/wholeBody_ct_segmentation/configs_3mm/inference.json delete mode 100644 models/wholeBody_ct_segmentation/configs_3mm/logging.conf delete mode 100644 models/wholeBody_ct_segmentation/configs_3mm/metadata.json delete mode 100644 models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json delete mode 100644 models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json delete mode 100755 models/wholeBody_ct_segmentation/configs_3mm/train.json delete mode 100755 models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index 5e99bc3f..2bf727dd 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -1,13 +1,23 @@ { + "loadable_params": [ + "highres", + "sw_overlap", + "sw_batch_size" + ], "imports": [ "$import glob", "$import os" ], "bundle_root": ".", - "output_dir": "$@bundle_root + '/eval_v2'", + "output_dir": "$@bundle_root + '/eval'", "dataset_dir": "../datasets/totalSegmentator", "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", + "highres": true, + "sw_overlap":0.25, + "sw_batch_size": 1, + "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", + "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", "network_def": { "_target_": "SegResNet", "spatial_dims": 3, @@ -51,11 +61,7 @@ { "_target_": "Spacingd", "keys": "image", - "pixdim": [ - 1.5, - 1.5, - 1.5 - ], + "pixdim": "@pixdim", "mode": "bilinear" }, { @@ -90,8 +96,8 @@ 96, 96 ], - "sw_batch_size": 1, - "overlap": 0.25, + "sw_batch_size": "@sw_batch_size", + "overlap": "@sw_overlap", "padding_mode": "replicate", "mode": "gaussian", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" @@ -129,7 +135,7 @@ "handlers": [ { "_target_": "CheckpointLoader", - "load_path": "$@bundle_root + '/models/model.pt'", + "load_path": "$@bundle_root + '/models/' + @modelname", "load_dict": { "model": "@network" } diff --git a/models/wholeBody_ct_segmentation/configs/train_3mm.json b/models/wholeBody_ct_segmentation/configs/train_3mm.json deleted file mode 100755 index abf4df68..00000000 --- a/models/wholeBody_ct_segmentation/configs/train_3mm.json +++ /dev/null @@ -1,421 +0,0 @@ -{ - "imports": [ - "$import glob", - "$import os", - "$import ignite" - ], - "bundle_root": ".", - "ckpt_dir": "$@bundle_root + '/models'", - "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/totalSegmentator", - "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", - "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", - "val_interval": 20, - "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", - "network_def": { - "_target_": "SegResNet", - "spatial_dims": 3, - "in_channels": 1, - "out_channels": 105, - "init_filters": 32, - "blocks_down": [ - 1, - 2, - 2, - 4 - ], - "blocks_up": [ - 1, - 1, - 1 - ], - "dropout_prob": 0.2 - }, - "network": "$@network_def.to(@device)", - "loss": { - "_target_": "DiceCELoss", - "to_onehot_y": true, - "softmax": true - }, - "optimizer": { - "_target_": "torch.optim.AdamW", - "params": "$@network.parameters()", - "lr": 0.0001, - "weight_decay": 0.00001 - }, - "train": { - "deterministic_transforms": [ - { - "_target_": "LoadImaged", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureChannelFirstd", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "Orientationd", - "keys": [ - "image", - "label" - ], - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": [ - "image", - "label" - ], - "pixdim": [ - 3, - 3, - 3 - ], - "mode": [ - "bilinear", - "nearest" - ] - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "CropForegroundd", - "keys": [ - "image", - "label" - ], - "source_key": "image", - "margin": 10, - "k_divisible": [ - 96, - 96, - 96 - ] - }, - { - "_target_": "GaussianSmoothd", - "keys": [ - "image" - ], - "sigma": 0.4 - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - } - ], - "random_transforms": [ - { - "_target_": "RandSpatialCropd", - "keys": [ - "image", - "label" - ], - "roi_size": [ - 96, - 96, - 96 - ], - "random_size": false - } - ], - "preprocessing": { - "_target_": "Compose", - "transforms": "$@train#deterministic_transforms + @train#random_transforms" - }, - "dataset": { - "_target_": "CacheDataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", - "transform": "@train#preprocessing", - "cache_rate": 1.0, - "num_workers": 4 - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@train#dataset", - "batch_size": 16, - "shuffle": true, - "num_workers": 4 - }, - "inferer": { - "_target_": "SimpleInferer" - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - } - ] - }, - "handlers": [ - { - "_target_": "ValidationHandler", - "validator": "@validate#evaluator", - "epoch_level": true, - "interval": "@val_interval" - }, - { - "_target_": "StatsHandler", - "tag_name": "train_loss", - "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" - }, - { - "_target_": "TensorBoardStatsHandler", - "log_dir": "@output_dir", - "tag_name": "train_loss", - "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" - } - ], - "key_metric": { - "train_accuracy": { - "_target_": "ignite.metrics.Accuracy", - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "trainer": { - "_target_": "SupervisedTrainer", - "max_epochs": 4000, - "device": "@device", - "train_data_loader": "@train#dataloader", - "network": "@network", - "loss_function": "@loss", - "optimizer": "@optimizer", - "inferer": "@train#inferer", - "postprocessing": "@train#postprocessing", - "key_train_metric": "@train#key_metric", - "train_handlers": "@train#handlers", - "amp": true - } - }, - "validate": { - "preprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "LoadImaged", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureChannelFirstd", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "Orientationd", - "keys": [ - "image", - "label" - ], - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": [ - "image", - "label" - ], - "pixdim": [ - 3, - 3, - 3 - ], - "mode": [ - "bilinear", - "nearest" - ] - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "CropForegroundd", - "keys": [ - "image", - "label" - ], - "source_key": "image", - "margin": 10, - "k_divisible": [ - 96, - 96, - 96 - ] - }, - { - "_target_": "GaussianSmoothd", - "keys": [ - "image" - ], - "sigma": 0.4 - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - }, - { - "_target_": "CenterSpatialCropd", - "keys": [ - "image", - "label" - ], - "roi_size": [ - 160, - 160, - 160 - ] - } - ] - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - } - ] - }, - "dataset": { - "_target_": "Dataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-57:], @labels[-57:])]", - "transform": "@validate#preprocessing" - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@validate#dataset", - "batch_size": 1, - "shuffle": false, - "num_workers": 4 - }, - "inferer": { - "_target_": "SlidingWindowInferer", - "roi_size": [ - 96, - 96, - 96 - ], - "sw_batch_size": 1, - "overlap": 0.25 - }, - "handlers": [ - { - "_target_": "StatsHandler", - "iteration_log": false - }, - { - "_target_": "TensorBoardStatsHandler", - "log_dir": "@output_dir", - "iteration_log": false - }, - { - "_target_": "CheckpointSaver", - "save_dir": "@ckpt_dir", - "save_dict": { - "model": "@network" - }, - "save_key_metric": true, - "key_metric_filename": "model.pt" - } - ], - "key_metric": { - "val_mean_dice": { - "_target_": "MeanDice", - "include_background": false, - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "additional_metrics": { - "val_accuracy": { - "_target_": "ignite.metrics.Accuracy", - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "evaluator": { - "_target_": "SupervisedEvaluator", - "device": "@device", - "val_data_loader": "@validate#dataloader", - "network": "@network", - "inferer": "@validate#inferer", - "postprocessing": "@validate#postprocessing", - "key_val_metric": "@validate#key_metric", - "additional_metrics": "@validate#additional_metrics", - "val_handlers": "@validate#handlers", - "amp": true - } - }, - "training": [ - "$monai.utils.set_determinism(seed=123)", - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$@train#trainer.run()" - ] -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/evaluate.json b/models/wholeBody_ct_segmentation/configs_3mm/evaluate.json deleted file mode 100644 index 7e7c7530..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/evaluate.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "validate#postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - }, - { - "_target_": "Invertd", - "keys": [ - "pred", - "label" - ], - "transform": "@validate#preprocessing", - "orig_keys": "image", - "meta_key_postfix": "meta_dict", - "nearest_interp": [ - false, - true - ], - "to_tensor": true - }, - { - "_target_": "SaveImaged", - "_disabled_": true, - "keys": "pred", - "meta_keys": "pred_meta_dict", - "output_dir": "@output_dir", - "resample": false, - "squeeze_end_dims": true - } - ] - }, - "validate#handlers": [ - { - "_target_": "CheckpointLoader", - "load_path": "$@ckpt_dir + '/model.pt'", - "load_dict": { - "model": "@network" - } - }, - { - "_target_": "StatsHandler", - "iteration_log": false - }, - { - "_target_": "MetricsSaver", - "save_dir": "@output_dir", - "metrics": [ - "val_mean_dice", - "val_acc" - ], - "metric_details": [ - "val_mean_dice" - ], - "batch_transform": "$monai.handlers.from_engine(['image_meta_dict'])", - "summary_ops": "*" - } - ], - "evaluating": [ - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$@validate#evaluator.run()" - ] -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/inference.json b/models/wholeBody_ct_segmentation/configs_3mm/inference.json deleted file mode 100644 index dd38b332..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/inference.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "imports": [ - "$import glob", - "$import os" - ], - "bundle_root": ".", - "output_dir": "$@bundle_root + '/eval_v2'", - "dataset_dir": "../datasets/totalSegmentator", - "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", - "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", - "network_def": { - "_target_": "SegResNet", - "spatial_dims": 3, - "in_channels": 1, - "out_channels": 105, - "init_filters": 32, - "blocks_down": [ - 1, - 2, - 2, - 4 - ], - "blocks_up": [ - 1, - 1, - 1 - ], - "dropout_prob": 0.2 - }, - "network": "$@network_def.to(@device)", - "preprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "LoadImaged", - "keys": "image" - }, - { - "_target_": "EnsureTyped", - "keys": "image" - }, - { - "_target_": "EnsureChannelFirstd", - "keys": "image" - }, - { - "_target_": "Orientationd", - "keys": "image", - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": "image", - "pixdim": [ - 3.0, - 3.0, - 3.0 - ], - "mode": "bilinear" - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - } - ] - }, - "dataset": { - "_target_": "Dataset", - "data": "$[{'image': i} for i in @datalist]", - "transform": "@preprocessing" - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@dataset", - "batch_size": 1, - "shuffle": false, - "num_workers": 1 - }, - "inferer": { - "_target_": "SlidingWindowInferer", - "roi_size": [ - 96, - 96, - 96 - ], - "sw_batch_size": 1, - "overlap": 0.25, - "padding_mode": "replicate", - "mode": "gaussian", - "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": "pred", - "argmax": true - }, - { - "_target_": "Invertd", - "keys": "pred", - "transform": "@preprocessing", - "orig_keys": "image", - "meta_key_postfix": "meta_dict", - "nearest_interp": true, - "to_tensor": true - }, - { - "_target_": "SaveImaged", - "keys": "pred", - "meta_keys": "pred_meta_dict", - "output_dir": "@output_dir" - } - ] - }, - "handlers": [ - { - "_target_": "CheckpointLoader", - "load_path": "$@bundle_root + '/models/model.pt'", - "load_dict": { - "model": "@network" - } - }, - { - "_target_": "StatsHandler", - "iteration_log": false - } - ], - "evaluator": { - "_target_": "SupervisedEvaluator", - "device": "@device", - "val_data_loader": "@dataloader", - "network": "@network", - "inferer": "@inferer", - "postprocessing": "@postprocessing", - "val_handlers": "@handlers", - "amp": true - }, - "evaluating": [ - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$@evaluator.run()" - ] -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/logging.conf b/models/wholeBody_ct_segmentation/configs_3mm/logging.conf deleted file mode 100644 index 91c1a21c..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/logging.conf +++ /dev/null @@ -1,21 +0,0 @@ -[loggers] -keys=root - -[handlers] -keys=consoleHandler - -[formatters] -keys=fullFormatter - -[logger_root] -level=INFO -handlers=consoleHandler - -[handler_consoleHandler] -class=StreamHandler -level=INFO -formatter=fullFormatter -args=(sys.stdout,) - -[formatter_fullFormatter] -format=%(asctime)s - %(name)s - %(levelname)s - %(message)s diff --git a/models/wholeBody_ct_segmentation/configs_3mm/metadata.json b/models/wholeBody_ct_segmentation/configs_3mm/metadata.json deleted file mode 100644 index 3db9b7bf..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/metadata.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json", - "version": "0.1.0", - "changelog": { - "0.1.0": "complete the model package", - "0.0.1": "initialize the model package structure" - }, - "monai_version": "1.1.0", - "pytorch_version": "1.13.0", - "numpy_version": "1.21.2", - "optional_packages_version": { - "nibabel": "4.0.1", - "pytorch-ignite": "0.4.9" - }, - "task": "Whole Body CT Segmentation", - "description": "A pre-trained SegResNet model for volumetric (3D) segmentation of the 104 whole body segments", - "authors": "MONAI team", - "copyright": "Copyright (c) MONAI Consortium", - "data_source": "TotalSegmentator", - "data_type": "nibabel", - "image_classes": "104 foreground channels, 0 channel for the background, intensity scaled to [0, 1]", - "label_classes": "0 is the background, others are whole body segments", - "pred_classes": "0 is the background, 104 other chanels are whole body segments", - "eval_metrics": { - "mean_dice": 0.5 - }, - "intended_use": "This is an example, not to be used for diagnostic purposes", - "references": [ - "Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868.", - "Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809." - ], - "network_data_format": { - "inputs": { - "image": { - "type": "image", - "format": "hounsfield", - "modality": "CT", - "num_channels": 1, - "spatial_shape": [ - 96, - 96, - 96 - ], - "dtype": "float32", - "value_range": [ - 0, - 1 - ], - "is_patch_data": true, - "channel_def": { - "0": "image" - } - } - }, - "outputs": { - "pred": { - "type": "image", - "format": "segmentation", - "num_channels": 105, - "spatial_shape": [ - 96, - 96, - 96 - ], - "dtype": "float32", - "value_range": [ - 0, - 104 - ], - "is_patch_data": true, - "channel_def": { - "0": "background", - "1": "spleen", - "2": "kidney_right", - "3": "kidney_left", - "4": "gallbladder", - "5": "liver", - "6": "stomach", - "7": "aorta", - "8": "inferior_vena_cava", - "9": "portal_vein_and_splenic_vein", - "10": "pancreas", - "11": "adrenal_gland_right", - "12": "adrenal_gland_left", - "13": "lung_upper_lobe_left", - "14": "lung_lower_lobe_left", - "15": "lung_upper_lobe_right", - "16": "lung_middle_lobe_right", - "17": "lung_lower_lobe_right", - "18": "vertebrae_L5", - "19": "vertebrae_L4", - "20": "vertebrae_L3", - "21": "vertebrae_L2", - "22": "vertebrae_L1", - "23": "vertebrae_T12", - "24": "vertebrae_T11", - "25": "vertebrae_T10", - "26": "vertebrae_T9", - "27": "vertebrae_T8", - "28": "vertebrae_T7", - "29": "vertebrae_T6", - "30": "vertebrae_T5", - "31": "vertebrae_T4", - "32": "vertebrae_T3", - "33": "vertebrae_T2", - "34": "vertebrae_T1", - "35": "vertebrae_C7", - "36": "vertebrae_C6", - "37": "vertebrae_C5", - "38": "vertebrae_C4", - "39": "vertebrae_C3", - "40": "vertebrae_C2", - "41": "vertebrae_C1", - "42": "esophagus", - "43": "trachea", - "44": "heart_myocardium", - "45": "heart_atrium_left", - "46": "heart_ventricle_left", - "47": "heart_atrium_right", - "48": "heart_ventricle_right", - "49": "pulmonary_artery", - "50": "brain", - "51": "iliac_artery_left", - "52": "iliac_artery_right", - "53": "iliac_vena_left", - "54": "iliac_vena_right", - "55": "small_bowel", - "56": "duodenum", - "57": "colon", - "58": "rib_left_1", - "59": "rib_left_2", - "60": "rib_left_3", - "61": "rib_left_4", - "62": "rib_left_5", - "63": "rib_left_6", - "64": "rib_left_7", - "65": "rib_left_8", - "66": "rib_left_9", - "67": "rib_left_10", - "68": "rib_left_11", - "69": "rib_left_12", - "70": "rib_right_1", - "71": "rib_right_2", - "72": "rib_right_3", - "73": "rib_right_4", - "74": "rib_right_5", - "75": "rib_right_6", - "76": "rib_right_7", - "77": "rib_right_8", - "78": "rib_right_9", - "79": "rib_right_10", - "80": "rib_right_11", - "81": "rib_right_12", - "82": "humerus_left", - "83": "humerus_right", - "84": "scapula_left", - "85": "scapula_right", - "86": "clavicula_left", - "87": "clavicula_right", - "88": "femur_left", - "89": "femur_right", - "90": "hip_left", - "91": "hip_right", - "92": "sacrum", - "93": "face", - "94": "gluteus_maximus_left", - "95": "gluteus_maximus_right", - "96": "gluteus_medius_left", - "97": "gluteus_medius_right", - "98": "gluteus_minimus_left", - "99": "gluteus_minimus_right", - "100": "autochthon_left", - "101": "autochthon_right", - "102": "iliopsoas_left", - "103": "iliopsoas_right", - "104": "urinary_bladder" - } - } - } - } -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json b/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json deleted file mode 100644 index f6b6c6dc..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_evaluate.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "device": "$torch.device(f'cuda:{dist.get_rank()}')", - "network": { - "_target_": "torch.nn.parallel.DistributedDataParallel", - "module": "$@network_def.to(@device)", - "device_ids": [ - "@device" - ] - }, - "validate#sampler": { - "_target_": "DistributedSampler", - "dataset": "@validate#dataset", - "even_divisible": false, - "shuffle": false - }, - "validate#dataloader#sampler": "@validate#sampler", - "validate#handlers#1#_disabled_": "$dist.get_rank() > 0", - "evaluating": [ - "$import torch.distributed as dist", - "$dist.init_process_group(backend='nccl')", - "$torch.cuda.set_device(@device)", - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$import logging", - "$@validate#evaluator.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", - "$@validate#evaluator.run()", - "$dist.destroy_process_group()" - ] -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json b/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json deleted file mode 100644 index 4161e527..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/multi_gpu_train.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "device": "$torch.device(f'cuda:{dist.get_rank()}')", - "network": { - "_target_": "torch.nn.parallel.DistributedDataParallel", - "module": "$@network_def.to(@device)", - "device_ids": [ - "@device" - ] - }, - "train#sampler": { - "_target_": "DistributedSampler", - "dataset": "@train#dataset", - "even_divisible": true, - "shuffle": true - }, - "train#dataloader#sampler": "@train#sampler", - "train#dataloader#shuffle": false, - "train#trainer#train_handlers": "$@train#handlers[: -2 if dist.get_rank() > 0 else None]", - "validate#sampler": { - "_target_": "DistributedSampler", - "dataset": "@validate#dataset", - "even_divisible": false, - "shuffle": false - }, - "validate#dataloader#sampler": "@validate#sampler", - "validate#evaluator#val_handlers": "$None if dist.get_rank() > 0 else @validate#handlers", - "training": [ - "$import torch.distributed as dist", - "$dist.init_process_group(backend='nccl')", - "$torch.cuda.set_device(@device)", - "$monai.utils.set_determinism(seed=123)", - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$import logging", - "$@train#trainer.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", - "$@validate#evaluator.logger.setLevel(logging.WARNING if dist.get_rank() > 0 else logging.INFO)", - "$@train#trainer.run()", - "$dist.destroy_process_group()" - ] -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/train.json b/models/wholeBody_ct_segmentation/configs_3mm/train.json deleted file mode 100755 index 41c5ce48..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/train.json +++ /dev/null @@ -1,421 +0,0 @@ -{ - "imports": [ - "$import glob", - "$import os", - "$import ignite" - ], - "bundle_root": ".", - "ckpt_dir": "$@bundle_root + '/models'", - "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/totalSegmentator", - "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", - "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", - "val_interval": 20, - "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", - "network_def": { - "_target_": "SegResNet", - "spatial_dims": 3, - "in_channels": 1, - "out_channels": 105, - "init_filters": 32, - "blocks_down": [ - 1, - 2, - 2, - 4 - ], - "blocks_up": [ - 1, - 1, - 1 - ], - "dropout_prob": 0.2 - }, - "network": "$@network_def.to(@device)", - "loss": { - "_target_": "DiceCELoss", - "to_onehot_y": true, - "softmax": true - }, - "optimizer": { - "_target_": "torch.optim.AdamW", - "params": "$@network.parameters()", - "lr": 0.0001, - "weight_decay": 0.00001 - }, - "train": { - "deterministic_transforms": [ - { - "_target_": "LoadImaged", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureChannelFirstd", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "Orientationd", - "keys": [ - "image", - "label" - ], - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": [ - "image", - "label" - ], - "pixdim": [ - 1.5, - 1.5, - 1.5 - ], - "mode": [ - "bilinear", - "nearest" - ] - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "CropForegroundd", - "keys": [ - "image", - "label" - ], - "source_key": "image", - "margin": 10, - "k_divisible": [ - 96, - 96, - 96 - ] - }, - { - "_target_": "GaussianSmoothd", - "keys": [ - "image" - ], - "sigma": 0.4 - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - } - ], - "random_transforms": [ - { - "_target_": "RandSpatialCropd", - "keys": [ - "image", - "label" - ], - "roi_size": [ - 96, - 96, - 96 - ], - "random_size": false - } - ], - "preprocessing": { - "_target_": "Compose", - "transforms": "$@train#deterministic_transforms + @train#random_transforms" - }, - "dataset": { - "_target_": "CacheDataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", - "transform": "@train#preprocessing", - "cache_rate": 0.4, - "num_workers": 4 - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@train#dataset", - "batch_size": 16, - "shuffle": true, - "num_workers": 4 - }, - "inferer": { - "_target_": "SimpleInferer" - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - } - ] - }, - "handlers": [ - { - "_target_": "ValidationHandler", - "validator": "@validate#evaluator", - "epoch_level": true, - "interval": "@val_interval" - }, - { - "_target_": "StatsHandler", - "tag_name": "train_loss", - "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" - }, - { - "_target_": "TensorBoardStatsHandler", - "log_dir": "@output_dir", - "tag_name": "train_loss", - "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" - } - ], - "key_metric": { - "train_accuracy": { - "_target_": "ignite.metrics.Accuracy", - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "trainer": { - "_target_": "SupervisedTrainer", - "max_epochs": 4000, - "device": "@device", - "train_data_loader": "@train#dataloader", - "network": "@network", - "loss_function": "@loss", - "optimizer": "@optimizer", - "inferer": "@train#inferer", - "postprocessing": "@train#postprocessing", - "key_train_metric": "@train#key_metric", - "train_handlers": "@train#handlers", - "amp": true - } - }, - "validate": { - "preprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "LoadImaged", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureChannelFirstd", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "Orientationd", - "keys": [ - "image", - "label" - ], - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": [ - "image", - "label" - ], - "pixdim": [ - 1.5, - 1.5, - 1.5 - ], - "mode": [ - "bilinear", - "nearest" - ] - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "CropForegroundd", - "keys": [ - "image", - "label" - ], - "source_key": "image", - "margin": 10, - "k_divisible": [ - 96, - 96, - 96 - ] - }, - { - "_target_": "GaussianSmoothd", - "keys": [ - "image" - ], - "sigma": 0.4 - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - }, - { - "_target_": "CenterSpatialCropd", - "keys": [ - "image", - "label" - ], - "roi_size": [ - 160, - 160, - 160 - ] - } - ] - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - } - ] - }, - "dataset": { - "_target_": "Dataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-200:], @labels[-200:])]", - "transform": "@validate#preprocessing" - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@validate#dataset", - "batch_size": 1, - "shuffle": false, - "num_workers": 4 - }, - "inferer": { - "_target_": "SlidingWindowInferer", - "roi_size": [ - 96, - 96, - 96 - ], - "sw_batch_size": 1, - "overlap": 0.25 - }, - "handlers": [ - { - "_target_": "StatsHandler", - "iteration_log": false - }, - { - "_target_": "TensorBoardStatsHandler", - "log_dir": "@output_dir", - "iteration_log": false - }, - { - "_target_": "CheckpointSaver", - "save_dir": "@ckpt_dir", - "save_dict": { - "model": "@network" - }, - "save_key_metric": true, - "key_metric_filename": "model.pt" - } - ], - "key_metric": { - "val_mean_dice": { - "_target_": "MeanDice", - "include_background": false, - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "additional_metrics": { - "val_accuracy": { - "_target_": "ignite.metrics.Accuracy", - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "evaluator": { - "_target_": "SupervisedEvaluator", - "device": "@device", - "val_data_loader": "@validate#dataloader", - "network": "@network", - "inferer": "@validate#inferer", - "postprocessing": "@validate#postprocessing", - "key_val_metric": "@validate#key_metric", - "additional_metrics": "@validate#additional_metrics", - "val_handlers": "@validate#handlers", - "amp": true - } - }, - "training": [ - "$monai.utils.set_determinism(seed=123)", - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$@train#trainer.run()" - ] -} diff --git a/models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json b/models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json deleted file mode 100755 index abf4df68..00000000 --- a/models/wholeBody_ct_segmentation/configs_3mm/train_3mm.json +++ /dev/null @@ -1,421 +0,0 @@ -{ - "imports": [ - "$import glob", - "$import os", - "$import ignite" - ], - "bundle_root": ".", - "ckpt_dir": "$@bundle_root + '/models'", - "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/totalSegmentator", - "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", - "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", - "val_interval": 20, - "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", - "network_def": { - "_target_": "SegResNet", - "spatial_dims": 3, - "in_channels": 1, - "out_channels": 105, - "init_filters": 32, - "blocks_down": [ - 1, - 2, - 2, - 4 - ], - "blocks_up": [ - 1, - 1, - 1 - ], - "dropout_prob": 0.2 - }, - "network": "$@network_def.to(@device)", - "loss": { - "_target_": "DiceCELoss", - "to_onehot_y": true, - "softmax": true - }, - "optimizer": { - "_target_": "torch.optim.AdamW", - "params": "$@network.parameters()", - "lr": 0.0001, - "weight_decay": 0.00001 - }, - "train": { - "deterministic_transforms": [ - { - "_target_": "LoadImaged", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureChannelFirstd", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "Orientationd", - "keys": [ - "image", - "label" - ], - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": [ - "image", - "label" - ], - "pixdim": [ - 3, - 3, - 3 - ], - "mode": [ - "bilinear", - "nearest" - ] - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "CropForegroundd", - "keys": [ - "image", - "label" - ], - "source_key": "image", - "margin": 10, - "k_divisible": [ - 96, - 96, - 96 - ] - }, - { - "_target_": "GaussianSmoothd", - "keys": [ - "image" - ], - "sigma": 0.4 - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - } - ], - "random_transforms": [ - { - "_target_": "RandSpatialCropd", - "keys": [ - "image", - "label" - ], - "roi_size": [ - 96, - 96, - 96 - ], - "random_size": false - } - ], - "preprocessing": { - "_target_": "Compose", - "transforms": "$@train#deterministic_transforms + @train#random_transforms" - }, - "dataset": { - "_target_": "CacheDataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", - "transform": "@train#preprocessing", - "cache_rate": 1.0, - "num_workers": 4 - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@train#dataset", - "batch_size": 16, - "shuffle": true, - "num_workers": 4 - }, - "inferer": { - "_target_": "SimpleInferer" - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - } - ] - }, - "handlers": [ - { - "_target_": "ValidationHandler", - "validator": "@validate#evaluator", - "epoch_level": true, - "interval": "@val_interval" - }, - { - "_target_": "StatsHandler", - "tag_name": "train_loss", - "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" - }, - { - "_target_": "TensorBoardStatsHandler", - "log_dir": "@output_dir", - "tag_name": "train_loss", - "output_transform": "$monai.handlers.from_engine(['loss'], first=True)" - } - ], - "key_metric": { - "train_accuracy": { - "_target_": "ignite.metrics.Accuracy", - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "trainer": { - "_target_": "SupervisedTrainer", - "max_epochs": 4000, - "device": "@device", - "train_data_loader": "@train#dataloader", - "network": "@network", - "loss_function": "@loss", - "optimizer": "@optimizer", - "inferer": "@train#inferer", - "postprocessing": "@train#postprocessing", - "key_train_metric": "@train#key_metric", - "train_handlers": "@train#handlers", - "amp": true - } - }, - "validate": { - "preprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "LoadImaged", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureChannelFirstd", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "EnsureTyped", - "keys": [ - "image", - "label" - ] - }, - { - "_target_": "Orientationd", - "keys": [ - "image", - "label" - ], - "axcodes": "RAS" - }, - { - "_target_": "Spacingd", - "keys": [ - "image", - "label" - ], - "pixdim": [ - 3, - 3, - 3 - ], - "mode": [ - "bilinear", - "nearest" - ] - }, - { - "_target_": "NormalizeIntensityd", - "keys": "image", - "nonzero": true - }, - { - "_target_": "CropForegroundd", - "keys": [ - "image", - "label" - ], - "source_key": "image", - "margin": 10, - "k_divisible": [ - 96, - 96, - 96 - ] - }, - { - "_target_": "GaussianSmoothd", - "keys": [ - "image" - ], - "sigma": 0.4 - }, - { - "_target_": "ScaleIntensityd", - "keys": "image", - "minv": -1.0, - "maxv": 1.0 - }, - { - "_target_": "CenterSpatialCropd", - "keys": [ - "image", - "label" - ], - "roi_size": [ - 160, - 160, - 160 - ] - } - ] - }, - "postprocessing": { - "_target_": "Compose", - "transforms": [ - { - "_target_": "Activationsd", - "keys": "pred", - "softmax": true - }, - { - "_target_": "AsDiscreted", - "keys": [ - "pred", - "label" - ], - "argmax": [ - true, - false - ], - "to_onehot": 105 - } - ] - }, - "dataset": { - "_target_": "Dataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-57:], @labels[-57:])]", - "transform": "@validate#preprocessing" - }, - "dataloader": { - "_target_": "DataLoader", - "dataset": "@validate#dataset", - "batch_size": 1, - "shuffle": false, - "num_workers": 4 - }, - "inferer": { - "_target_": "SlidingWindowInferer", - "roi_size": [ - 96, - 96, - 96 - ], - "sw_batch_size": 1, - "overlap": 0.25 - }, - "handlers": [ - { - "_target_": "StatsHandler", - "iteration_log": false - }, - { - "_target_": "TensorBoardStatsHandler", - "log_dir": "@output_dir", - "iteration_log": false - }, - { - "_target_": "CheckpointSaver", - "save_dir": "@ckpt_dir", - "save_dict": { - "model": "@network" - }, - "save_key_metric": true, - "key_metric_filename": "model.pt" - } - ], - "key_metric": { - "val_mean_dice": { - "_target_": "MeanDice", - "include_background": false, - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "additional_metrics": { - "val_accuracy": { - "_target_": "ignite.metrics.Accuracy", - "output_transform": "$monai.handlers.from_engine(['pred', 'label'])" - } - }, - "evaluator": { - "_target_": "SupervisedEvaluator", - "device": "@device", - "val_data_loader": "@validate#dataloader", - "network": "@network", - "inferer": "@validate#inferer", - "postprocessing": "@validate#postprocessing", - "key_val_metric": "@validate#key_metric", - "additional_metrics": "@validate#additional_metrics", - "val_handlers": "@validate#handlers", - "amp": true - } - }, - "training": [ - "$monai.utils.set_determinism(seed=123)", - "$setattr(torch.backends.cudnn, 'benchmark', True)", - "$@train#trainer.run()" - ] -} diff --git a/models/wholeBody_ct_segmentation/large_files.yml b/models/wholeBody_ct_segmentation/large_files.yml index 29afcb66..97a6f363 100644 --- a/models/wholeBody_ct_segmentation/large_files.yml +++ b/models/wholeBody_ct_segmentation/large_files.yml @@ -3,3 +3,7 @@ large_files: url: "https://drive.google.com/file/d/1PHpFWboimEXmMSe2vBra6T8SaCMC2SHT/view?usp=share_link" hash_val: "" hash_type: "" + - path: "models/model_lowres.pt" + url: "https://drive.google.com/file/d/1c3osYscnr6710ObqZZS8GkZJQlWlc7rt/view?usp=share_link" + hash_val: "" + hash_type: "" \ No newline at end of file From 942fa2589c22908768733961aa93448656aadc6e Mon Sep 17 00:00:00 2001 From: tangy5 Date: Fri, 10 Feb 2023 16:46:38 -0800 Subject: [PATCH 07/15] Add all remaining devs Signed-off-by: tangy5 --- .../configs/evaluate.json | 2 +- .../configs/inference.json | 4 +- .../configs/metadata.json | 3 +- .../configs/train.json | 39 +++++---- .../wholeBody_ct_segmentation/docs/README.md | 81 ++++++++++++++---- .../docs/imgs/totalsegmentator_monailabel.png | Bin 0 -> 498848 bytes 6 files changed, 88 insertions(+), 41 deletions(-) create mode 100644 models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_monailabel.png diff --git a/models/wholeBody_ct_segmentation/configs/evaluate.json b/models/wholeBody_ct_segmentation/configs/evaluate.json index 7e7c7530..2860fc2a 100644 --- a/models/wholeBody_ct_segmentation/configs/evaluate.json +++ b/models/wholeBody_ct_segmentation/configs/evaluate.json @@ -29,7 +29,7 @@ "orig_keys": "image", "meta_key_postfix": "meta_dict", "nearest_interp": [ - false, + true, true ], "to_tensor": true diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index 2bf727dd..437e017d 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -10,11 +10,11 @@ ], "bundle_root": ".", "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/totalSegmentator", + "dataset_dir": "sampledata", "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "highres": true, - "sw_overlap":0.25, + "sw_overlap": 0.25, "sw_batch_size": 1, "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", diff --git a/models/wholeBody_ct_segmentation/configs/metadata.json b/models/wholeBody_ct_segmentation/configs/metadata.json index 3db9b7bf..ded73d63 100644 --- a/models/wholeBody_ct_segmentation/configs/metadata.json +++ b/models/wholeBody_ct_segmentation/configs/metadata.json @@ -27,7 +27,8 @@ "intended_use": "This is an example, not to be used for diagnostic purposes", "references": [ "Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868.", - "Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809." + "Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809.", + "Tang, Y., Gao, R., Lee, H.H., Han, S., Chen, Y., Gao, D., Nath, V., Bermudez, C., Savona, M.R., Abramson, R.G. and Bao, S., 2021. High-resolution 3D abdominal segmentation with random patch network fusion. Medical image analysis, 69, p.101894." ], "network_data_format": { "inputs": { diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json index 41c5ce48..d257d9b1 100755 --- a/models/wholeBody_ct_segmentation/configs/train.json +++ b/models/wholeBody_ct_segmentation/configs/train.json @@ -1,4 +1,10 @@ { + "loadable_params": [ + "highres", + "sw_overlap", + "sw_batch_size", + "init_LR" + ], "imports": [ "$import glob", "$import os", @@ -7,10 +13,15 @@ "bundle_root": ".", "ckpt_dir": "$@bundle_root + '/models'", "output_dir": "$@bundle_root + '/eval'", - "dataset_dir": "../datasets/totalSegmentator", - "images": "$list(sorted(glob.glob(@dataset_dir + '/images/*.nii.gz')))", - "labels": "$list(sorted(glob.glob(@dataset_dir + '/labels/*.nii.gz')))", + "dataset_dir": "sampledata", + "images": "$list(sorted(glob.glob(@dataset_dir + '/imagesTr/*.nii.gz')))", + "labels": "$list(sorted(glob.glob(@dataset_dir + '/labelsTr/*.nii.gz')))", + "highres": true, "val_interval": 20, + "init_LR": 0.0001, + "batch_size": 4, + "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", + "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "network_def": { "_target_": "SegResNet", @@ -40,7 +51,7 @@ "optimizer": { "_target_": "torch.optim.AdamW", "params": "$@network.parameters()", - "lr": 0.0001, + "lr": "@init_LR", "weight_decay": 0.00001 }, "train": { @@ -80,11 +91,7 @@ "image", "label" ], - "pixdim": [ - 1.5, - 1.5, - 1.5 - ], + "pixdim": "@pixdim", "mode": [ "bilinear", "nearest" @@ -151,7 +158,7 @@ }, "dataset": { "_target_": "CacheDataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-57], @labels[:-57])]", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[:-10], @labels[:-10])]", "transform": "@train#preprocessing", "cache_rate": 0.4, "num_workers": 4 @@ -159,7 +166,7 @@ "dataloader": { "_target_": "DataLoader", "dataset": "@train#dataset", - "batch_size": 16, + "batch_size": "@batch_size", "shuffle": true, "num_workers": 4 }, @@ -267,11 +274,7 @@ "image", "label" ], - "pixdim": [ - 1.5, - 1.5, - 1.5 - ], + "pixdim": "@pixdim", "mode": [ "bilinear", "nearest" @@ -347,7 +350,7 @@ }, "dataset": { "_target_": "Dataset", - "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-200:], @labels[-200:])]", + "data": "$[{'image': i, 'label': l} for i, l in zip(@images[-10:], @labels[-10:])]", "transform": "@validate#preprocessing" }, "dataloader": { @@ -384,7 +387,7 @@ "model": "@network" }, "save_key_metric": true, - "key_metric_filename": "model.pt" + "key_metric_filename": "@modelname" } ], "key_metric": { diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index 82d2342f..55554423 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -1,24 +1,35 @@ # Model Overview -A pre-trained model for volumetric (3D) segmentation of 104 whole body segments. -This model is trained using the SegResNet [1] network. The model is trained using TotalSegmentator datasets [2]. +Body CT segmentation models are evolving. Starting from abdominal multi-organ segmentation model [1]. Now the community is developing hundreds of target anatomies. In this bundle, we provide re-trained models for (3D) segmentation of 104 whole-body segments. + +This model is trained using the SegResNet [3] network. The model is trained using TotalSegmentator datasets [2]. ![structures](https://github.com/wasserth/TotalSegmentator/blob/master/resources/imgs/overview_classes.png) Figure source from the TotalSegmentator [2]. +## MONAI Label Showcase + +- We highlight the use of this bundle to use and visualize in MONAI Label + 3D Slicer integration. + +![](./imgs/totalsegmentator_monailabel.png)
+ ## Data -The training set is the 104 whole body structures from the TotalSegmentator released datasets. Users can find more details on the datasets at https://github.com/wasserth/TotalSegmentator. +The training set is the 104 whole-body structures from the TotalSegmentator released datasets. Users can find more details on the datasets at https://github.com/wasserth/TotalSegmentator. All rights and licenses are reserved to the original authors. - Target: 104 structures - Modality: CT - Source: TotalSegmentator - Challenge: Large volumes of structures in CT images + +### Preprocessing + +To use the bundle, users need to download the data and merge all annotated labels into one NIFTI file. Each file contains 0-104 values, each value represents one anatomy class. A sample set is provided with this [link](https://drive.google.com/file/d/1DtDmERVMjks1HooUhggOKAuDm0YIEunG/view?usp=share_link). -## Training configuration +## Training Configuration -The segmentation of 104 tissues is formulated as the voxel-wise multi-label segmentation. The model is optimized with the gradient descent method minimizing Dice + cross entropy loss between the predicted mask and ground truth segmentation. +The segmentation of 104 tissues is formulated as voxel-wise multi-label segmentation. The model is optimized with the gradient descent method minimizing Dice + cross-entropy loss between the predicted mask and ground truth segmentation. The training was performed with the following: @@ -40,31 +51,59 @@ One channel - Label 0: Background (everything else) - label 1-105: Foreground classes (104) -### Resource Requirements +### High-Resolution and Low-Resolution Models + +We retrained two versions of the totalSegmentator models, following the original paper and implementation. +To meet multiple demands according to computation resources and performance, we provide a 1.5 mm model and a 3.0 mm model, both models are trained with 104 foreground output channels. + +In this bundle, we configured a parameter called `highres`, users can set it to `true` when using 1.5 mm model, and set it to `false` to use the 3.0 mm model. The high-resolution model is named `model.pt` by default, the low-resolution model is named `model_lowres.pt`. + +In MONAI Label use case, users can set the parameter in 3D Slicer plugin to control which model to infer and train. + +- Pretrained Checkpoints + - 1.5 mm model: [Download link](https://drive.google.com/file/d/1PHpFWboimEXmMSe2vBra6T8SaCMC2SHT/view?usp=share_link) + - 3.0 mm model: [Download link](https://drive.google.com/file/d/1c3osYscnr6710ObqZZS8GkZJQlWlc7rt/view?usp=share_link) + +### Resource Requirements and Latency Benchmarks + +Latencies and memory performance of using the bundle with MONAI Label: + +Tested Image Dimension: **(512, 512, 397)**, the slice thickness is **1.5mm** in this case. After resample to **1.5** isotropic resolution, the dimension is **(287, 287, 397)** -- TODO +## 1.5 mm (highres) model (Single Model with 104 foreground classes) -### Implementation Details +Benchmarking on GPU: Memory: **28.73G** +- `++ Latencies => Total: 6.0277; Pre: 1.6228; Inferer: 4.1153; Invert: 0.0000; Post: 0.0897; Write: 0.1995` +Benchmarking on CPU: Memory: **26G** + +- `++ Latencies => Total: 38.3108; Pre: 1.6643; Inferer: 30.3018; Invert: 0.0000; Post: 6.1656; Write: 0.1786` + +## 3.0 mm (lowres) model (single model with 104 foreground classes) + +GPU: Memory: **5.89G** + + - `++ Latencies => Total: 1.9993; Pre: 1.2363; Inferer: 0.5207; Invert: 0.0000; Post: 0.0358; Write: 0.2060` + +CPU: Memory: **2.3G** + + - `++ Latencies => Total: 6.6138; Pre: 1.3192; Inferer: 3.6746; Invert: 0.0000; Post: 1.4431; Write: 0.1760` ## Performance - 3.0 mm Model Training - - 1.5 mm Model Training - Training Accuracy ![](./imgs/totalsegmentator_train_accuracy.png)
- - Validation Dice + - Validation Dice ![](./imgs/totalsegmentator_15mm_validation.png)
- - #### Training Loss ![A graph showing the training loss over 200 epochs (over 100,000 iterations).] @@ -76,13 +115,13 @@ In addition to the Pythonic APIs, a few command line interfaces (CLI) are provid For more details usage instructions, visit the [MONAI Bundle Configuration Page](https://docs.monai.io/en/latest/config_syntax.html). -#### Execute training: +#### Execute training ``` python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf ``` -#### Override the `train` config to execute multi-GPU training: +#### Override the `train` config to execute multi-GPU training ``` torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf @@ -90,30 +129,34 @@ torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run training Please note that the distributed training-related options depend on the actual running environment; thus, users may need to remove `--standalone`, modify `--nnodes`, or do some other necessary changes according to the machine used. For more details, please refer to [pytorch's official tutorial](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html). -#### Override the `train` config to execute evaluation with the trained model: +#### Override the `train` config to execute evaluation with the trained model ``` python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf ``` -#### Override the `train` config and `evaluate` config to execute multi-GPU evaluation: +#### Override the `train` config and `evaluate` config to execute multi-GPU evaluation ``` torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json','configs/multi_gpu_evaluate.json']" --logging_file configs/logging.conf ``` -#### Execute inference: +#### Execute inference ``` python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf ``` # References -[1] Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809. -[2] Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868. +[1] Tang, Y., Gao, R., Lee, H.H., Han, S., Chen, Y., Gao, D., Nath, V., Bermudez, C., Savona, M.R., Abramson, R.G. and Bao, S., 2021. High-resolution 3D abdominal segmentation with random patch network fusion. Medical image analysis, 69, p.101894. + +[2] Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809. + +[3] Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868. # License + Copyright (c) MONAI Consortium Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_monailabel.png b/models/wholeBody_ct_segmentation/docs/imgs/totalsegmentator_monailabel.png new file mode 100644 index 0000000000000000000000000000000000000000..ec28eafde99a7d7158df73ee5f5e26415de800b2 GIT binary patch literal 498848 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 z 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

<4YVt5g5 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 +s;p7E%=*D&B0N0>&B1D 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 Date: Fri, 10 Feb 2023 16:49:33 -0800 Subject: [PATCH 08/15] Add all remaining devs Signed-off-by: tangy5 --- models/wholeBody_ct_segmentation/docs/README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index 55554423..16e82591 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -92,8 +92,6 @@ CPU: Memory: **2.3G** ## Performance -- 3.0 mm Model Training - - 1.5 mm Model Training - Training Accuracy @@ -104,12 +102,6 @@ CPU: Memory: **2.3G** ![](./imgs/totalsegmentator_15mm_validation.png)
-#### Training Loss -![A graph showing the training loss over 200 epochs (over 100,000 iterations).] - -#### Validation Dice -![A graph showing the validation mean Dice over 100 epochs.] - ## MONAI Bundle Commands In addition to the Pythonic APIs, a few command line interfaces (CLI) are provided to interact with the bundle. The CLI supports flexible use cases, such as overriding configs at runtime and predefining arguments in a file. From dccadd9a891cccbf09ae98092c45fa555e7e0696 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Fri, 10 Feb 2023 16:52:22 -0800 Subject: [PATCH 09/15] Add all remaining devs Signed-off-by: tangy5 --- models/wholeBody_ct_segmentation/docs/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index 16e82591..b39e27af 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -143,9 +143,11 @@ python -m monai.bundle run evaluating --meta_file configs/metadata.json --config [1] Tang, Y., Gao, R., Lee, H.H., Han, S., Chen, Y., Gao, D., Nath, V., Bermudez, C., Savona, M.R., Abramson, R.G. and Bao, S., 2021. High-resolution 3D abdominal segmentation with random patch network fusion. Medical image analysis, 69, p.101894. -[2] Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809. +[2] Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868. + +[3] Myronenko, A., Siddiquee, M.M.R., Yang, D., He, Y. and Xu, D., 2022. Automated head and neck tumor segmentation from 3D PET/CT. arXiv preprint arXiv:2209.10809. + -[3] Wasserthal, J., Meyer, M., Breit, H.C., Cyriac, J., Yang, S. and Segeroth, M., 2022. TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. arXiv preprint arXiv:2208.05868. # License From 457c2cbb4bf08f7232ad04f5c2c8a787312f2ccd Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 11 Feb 2023 00:52:43 +0000 Subject: [PATCH 10/15] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .../wholeBody_ct_segmentation/configs/inference.json | 2 +- models/wholeBody_ct_segmentation/configs/train.json | 4 ++-- models/wholeBody_ct_segmentation/docs/README.md | 10 +++++----- models/wholeBody_ct_segmentation/large_files.yml | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index 437e017d..939ce00b 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -16,7 +16,7 @@ "highres": true, "sw_overlap": 0.25, "sw_batch_size": 1, - "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", + "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", "network_def": { "_target_": "SegResNet", diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json index d257d9b1..83e9c421 100755 --- a/models/wholeBody_ct_segmentation/configs/train.json +++ b/models/wholeBody_ct_segmentation/configs/train.json @@ -20,7 +20,7 @@ "val_interval": 20, "init_LR": 0.0001, "batch_size": 4, - "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", + "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "network_def": { @@ -52,7 +52,7 @@ "_target_": "torch.optim.AdamW", "params": "$@network.parameters()", "lr": "@init_LR", - "weight_decay": 0.00001 + "weight_decay": 1e-05 }, "train": { "deterministic_transforms": [ diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index b39e27af..2be5b595 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -10,19 +10,19 @@ Figure source from the TotalSegmentator [2]. ## MONAI Label Showcase -- We highlight the use of this bundle to use and visualize in MONAI Label + 3D Slicer integration. +- We highlight the use of this bundle to use and visualize in MONAI Label + 3D Slicer integration. ![](./imgs/totalsegmentator_monailabel.png)
## Data -The training set is the 104 whole-body structures from the TotalSegmentator released datasets. Users can find more details on the datasets at https://github.com/wasserth/TotalSegmentator. All rights and licenses are reserved to the original authors. +The training set is the 104 whole-body structures from the TotalSegmentator released datasets. Users can find more details on the datasets at https://github.com/wasserth/TotalSegmentator. All rights and licenses are reserved to the original authors. - Target: 104 structures - Modality: CT - Source: TotalSegmentator - Challenge: Large volumes of structures in CT images - + ### Preprocessing To use the bundle, users need to download the data and merge all annotated labels into one NIFTI file. Each file contains 0-104 values, each value represents one anatomy class. A sample set is provided with this [link](https://drive.google.com/file/d/1DtDmERVMjks1HooUhggOKAuDm0YIEunG/view?usp=share_link). @@ -56,7 +56,7 @@ One channel We retrained two versions of the totalSegmentator models, following the original paper and implementation. To meet multiple demands according to computation resources and performance, we provide a 1.5 mm model and a 3.0 mm model, both models are trained with 104 foreground output channels. -In this bundle, we configured a parameter called `highres`, users can set it to `true` when using 1.5 mm model, and set it to `false` to use the 3.0 mm model. The high-resolution model is named `model.pt` by default, the low-resolution model is named `model_lowres.pt`. +In this bundle, we configured a parameter called `highres`, users can set it to `true` when using 1.5 mm model, and set it to `false` to use the 3.0 mm model. The high-resolution model is named `model.pt` by default, the low-resolution model is named `model_lowres.pt`. In MONAI Label use case, users can set the parameter in 3D Slicer plugin to control which model to infer and train. @@ -76,7 +76,7 @@ Benchmarking on GPU: Memory: **28.73G** - `++ Latencies => Total: 6.0277; Pre: 1.6228; Inferer: 4.1153; Invert: 0.0000; Post: 0.0897; Write: 0.1995` -Benchmarking on CPU: Memory: **26G** +Benchmarking on CPU: Memory: **26G** - `++ Latencies => Total: 38.3108; Pre: 1.6643; Inferer: 30.3018; Invert: 0.0000; Post: 6.1656; Write: 0.1786` diff --git a/models/wholeBody_ct_segmentation/large_files.yml b/models/wholeBody_ct_segmentation/large_files.yml index 97a6f363..3420abf2 100644 --- a/models/wholeBody_ct_segmentation/large_files.yml +++ b/models/wholeBody_ct_segmentation/large_files.yml @@ -6,4 +6,4 @@ large_files: - path: "models/model_lowres.pt" url: "https://drive.google.com/file/d/1c3osYscnr6710ObqZZS8GkZJQlWlc7rt/view?usp=share_link" hash_val: "" - hash_type: "" \ No newline at end of file + hash_type: "" From e6f8a08f5b1e8d2baa7b0e8478b3ec6bde626eb4 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Fri, 10 Feb 2023 17:04:05 -0800 Subject: [PATCH 11/15] fix chmod Signed-off-by: tangy5 --- models/wholeBody_ct_segmentation/configs/train.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 models/wholeBody_ct_segmentation/configs/train.json diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json old mode 100755 new mode 100644 From c0e731d71c4f75c961923bb156e3cbb02272ad5b Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 20 Feb 2023 11:18:41 -0800 Subject: [PATCH 12/15] update with suggestions Signed-off-by: tangy5 --- .../configs/inference.json | 21 ++++++++----------- .../configs/metadata.json | 3 ++- .../configs/train.json | 16 +++++++------- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/models/wholeBody_ct_segmentation/configs/inference.json b/models/wholeBody_ct_segmentation/configs/inference.json index 939ce00b..b17f4ce8 100644 --- a/models/wholeBody_ct_segmentation/configs/inference.json +++ b/models/wholeBody_ct_segmentation/configs/inference.json @@ -1,9 +1,9 @@ { - "loadable_params": [ - "highres", - "sw_overlap", - "sw_batch_size" - ], + "displayable_configs": { + "highres": true, + "sw_overlap": 0.25, + "sw_batch_size": 1 + }, "imports": [ "$import glob", "$import os" @@ -13,11 +13,8 @@ "dataset_dir": "sampledata", "datalist": "$list(sorted(glob.glob(@dataset_dir + '/imagesTs/*.nii.gz')))", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", - "highres": true, - "sw_overlap": 0.25, - "sw_batch_size": 1, - "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", - "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", + "pixdim": "$[1.5, 1.5, 1.5] if @displayable_configs#highres else [3.0, 3.0, 3.0]", + "modelname": "$'model.pt' if @displayable_configs#highres else 'model_lowres.pt'", "network_def": { "_target_": "SegResNet", "spatial_dims": 3, @@ -96,8 +93,8 @@ 96, 96 ], - "sw_batch_size": "@sw_batch_size", - "overlap": "@sw_overlap", + "sw_batch_size": "@displayable_configs#sw_batch_size", + "overlap": "@displayable_configs#sw_overlap", "padding_mode": "replicate", "mode": "gaussian", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" diff --git a/models/wholeBody_ct_segmentation/configs/metadata.json b/models/wholeBody_ct_segmentation/configs/metadata.json index ded73d63..b8c0dafb 100644 --- a/models/wholeBody_ct_segmentation/configs/metadata.json +++ b/models/wholeBody_ct_segmentation/configs/metadata.json @@ -12,7 +12,8 @@ "nibabel": "4.0.1", "pytorch-ignite": "0.4.9" }, - "task": "Whole Body CT Segmentation", + "name": "whole-body CT segmentation", + "task": "TotalSegmentator Segmentation", "description": "A pre-trained SegResNet model for volumetric (3D) segmentation of the 104 whole body segments", "authors": "MONAI team", "copyright": "Copyright (c) MONAI Consortium", diff --git a/models/wholeBody_ct_segmentation/configs/train.json b/models/wholeBody_ct_segmentation/configs/train.json index 83e9c421..9e79afd6 100644 --- a/models/wholeBody_ct_segmentation/configs/train.json +++ b/models/wholeBody_ct_segmentation/configs/train.json @@ -1,10 +1,8 @@ { - "loadable_params": [ - "highres", - "sw_overlap", - "sw_batch_size", - "init_LR" - ], + "displayable_configs": { + "highres": true, + "init_LR": 0.0001 + }, "imports": [ "$import glob", "$import os", @@ -20,8 +18,8 @@ "val_interval": 20, "init_LR": 0.0001, "batch_size": 4, - "pixdim": "$[1.5, 1.5, 1.5] if @highres else [3.0, 3.0, 3.0]", - "modelname": "$'model.pt' if @highres else 'model_lowres.pt'", + "pixdim": "$[1.5, 1.5, 1.5] if @displayable_configs#highres else [3.0, 3.0, 3.0]", + "modelname": "$'model.pt' if @displayable_configs#highres else 'model_lowres.pt'", "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", "network_def": { "_target_": "SegResNet", @@ -51,7 +49,7 @@ "optimizer": { "_target_": "torch.optim.AdamW", "params": "$@network.parameters()", - "lr": "@init_LR", + "lr": "@displayable_configs#init_LR", "weight_decay": 1e-05 }, "train": { From dde5454e5bbb62297eaed30a517b8c2e9b71e007 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 20 Feb 2023 11:28:58 -0800 Subject: [PATCH 13/15] add doc of inference sample Signed-off-by: tangy5 --- models/wholeBody_ct_segmentation/docs/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/models/wholeBody_ct_segmentation/docs/README.md b/models/wholeBody_ct_segmentation/docs/README.md index 2be5b595..9a2b7fad 100644 --- a/models/wholeBody_ct_segmentation/docs/README.md +++ b/models/wholeBody_ct_segmentation/docs/README.md @@ -138,6 +138,12 @@ torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run evaluati ``` python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf ``` +#### Execute inference with Data Samples + +``` +python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf --datalist "['sampledata/imagesTr/s0037.nii.gz','sampledata/imagesTr/s0038.nii.gz']" +``` + # References From c4209f963ddad9a1aea67c3a86a3f61cbbbf89ec Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 20 Feb 2023 20:32:37 -0800 Subject: [PATCH 14/15] update name, swin train param Signed-off-by: tangy5 --- models/swin_unetr_btcv_segmentation/configs/train.json | 2 +- models/wholeBody_ct_segmentation/configs/metadata.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/models/swin_unetr_btcv_segmentation/configs/train.json b/models/swin_unetr_btcv_segmentation/configs/train.json index 5135eda1..e5694677 100644 --- a/models/swin_unetr_btcv_segmentation/configs/train.json +++ b/models/swin_unetr_btcv_segmentation/configs/train.json @@ -19,7 +19,7 @@ "in_channels": 1, "out_channels": 14, "feature_size": 48, - "use_checkpoint": false + "use_checkpoint": true }, "network": "$@network_def.to(@device)", "loss": { diff --git a/models/wholeBody_ct_segmentation/configs/metadata.json b/models/wholeBody_ct_segmentation/configs/metadata.json index b8c0dafb..f5513a70 100644 --- a/models/wholeBody_ct_segmentation/configs/metadata.json +++ b/models/wholeBody_ct_segmentation/configs/metadata.json @@ -12,7 +12,7 @@ "nibabel": "4.0.1", "pytorch-ignite": "0.4.9" }, - "name": "whole-body CT segmentation", + "name": "Whole body CT segmentation", "task": "TotalSegmentator Segmentation", "description": "A pre-trained SegResNet model for volumetric (3D) segmentation of the 104 whole body segments", "authors": "MONAI team", From 2921064a2c73edb7243bb0f50e58e4dad9564143 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Mon, 20 Feb 2023 20:42:33 -0800 Subject: [PATCH 15/15] update name, swin train param Signed-off-by: tangy5 --- models/swin_unetr_btcv_segmentation/configs/metadata.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models/swin_unetr_btcv_segmentation/configs/metadata.json b/models/swin_unetr_btcv_segmentation/configs/metadata.json index 58a14933..1de4e9be 100644 --- a/models/swin_unetr_btcv_segmentation/configs/metadata.json +++ b/models/swin_unetr_btcv_segmentation/configs/metadata.json @@ -1,7 +1,8 @@ { "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json", - "version": "0.4.1", + "version": "0.4.2", "changelog": { + "0.4.2": "fix train params of use_checkpoint", "0.4.1": "update params to supprot torch.jit.trace torchscript conversion", "0.4.0": "add name tag", "0.3.9": "use ITKreader to avoid mass logs at image loading",