Skip to content

Commit

Permalink
Enhance nnUNet bundle notebook with DecathlonDataset integration and …
Browse files Browse the repository at this point in the history
…logging configuration
  • Loading branch information
SimoneBendazzoli93 committed Feb 26, 2025
1 parent 7be4718 commit 482bb70
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 12 deletions.
32 changes: 21 additions & 11 deletions bundle/06_nnunet_monai_bundle.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
"outputs": [],
"source": [
"from monai.config import print_config\n",
"from monai.apps import DecathlonDataset\n",
"import os\n",
"import tempfile\n",
"from monai.bundle.config_parser import ConfigParser\n",
Expand All @@ -73,6 +74,7 @@
"from monai.bundle.nnunet import convert_nnunet_to_monai_bundle\n",
"import json\n",
"from pathlib import Path\n",
"import nnunetv2\n",
"\n",
"print_config()"
]
Expand All @@ -94,7 +96,7 @@
"metadata": {},
"outputs": [],
"source": [
"os.environ[\"MONAI_DATA_DIRECTORY\"] = \"/home/maia-user/Documents/GitHub/tutorials/bundle/MONAI/Data\""
"os.environ[\"MONAI_DATA_DIRECTORY\"] = \"/home/maia-user/Documents/MONAI/Data\""
]
},
{
Expand All @@ -119,6 +121,15 @@
"To get the Decathlon Spleen dataset and generate the corresponding data list, you can follow the instructions in the [MSD Datalist Generator Notebook](../auto3dseg/notebooks/msd_datalist_generator.ipynb)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"DecathlonDataset(root_dir, \"Task09_Spleen\", \"training\", download=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down Expand Up @@ -230,7 +241,7 @@
"data_src = {\n",
" \"modality\": \"CT\",\n",
" \"dataset_name_or_id\": \"09\",\n",
" \"datalist\": os.path.join(root_dir, \"Task09_Spleen/msd_task09_spleen_folds.json\"),\n",
" \"datalist\": str(datalist_file),\n",
" \"dataroot\": os.path.join(root_dir, \"Task09_Spleen\"),\n",
"}\n",
"\n",
Expand Down Expand Up @@ -477,12 +488,12 @@
"\n",
"\n",
"BUNDLE_ROOT=nnUNetBundle\n",
"MONAI_DATA_DIRECTORY=/home/maia-user/Documents/GitHub/tutorials/bundle/MONAI/Data\n",
"MONAI_DATA_DIRECTORY=/home/maia-user/Documents/MONAI/Data\n",
"\n",
"python -m monai.bundle run \\\n",
" --config-file $BUNDLE_ROOT/configs/inference.yaml \\\n",
" --bundle-root $BUNDLE_ROOT \\\n",
" --data_list_file $MONAI_DATA_DIRECTORY/Task09_Spleen/msd_task09_spleen_folds.json \\\n",
" --data_list_file $MONAI_DATA_DIRECTORY/Task09_Spleen/Task09_Spleen_folds.json \\\n",
" --output-dir $BUNDLE_ROOT/pred_output \\\n",
" --data_dir $MONAI_DATA_DIRECTORY/Task09_Spleen \\\n",
" --logging-file$BUNDLE_ROOT/configs/logging.conf"
Expand Down Expand Up @@ -755,9 +766,7 @@
"metadata": {},
"outputs": [],
"source": [
"import nnunetv2\n",
"\n",
"print(nnunetv2.__file__)"
"nnunet_training_file = Path(nnunetv2.training.__file__).parent.joinpath(\"lr_scheduler\", \"polylr.py\")"
]
},
{
Expand All @@ -773,7 +782,7 @@
"metadata": {},
"outputs": [],
"source": [
"%%writefile </path/to/nnunetv2>/training/lr_scheduler/polylr.py\n",
"%%writefile $nnunet_training_file\n",
"\n",
"from torch.optim.lr_scheduler import _LRScheduler\n",
"\n",
Expand Down Expand Up @@ -816,19 +825,20 @@
"outputs": [],
"source": [
"%%bash\n",
"\n",
"export MONAI_DATA_DIRECTORY=/home/maia-user/Documents/MONAI/Data\n",
"export nnUNet_raw=$MONAI_DATA_DIRECTORY\"/nnUNet/nnUNet_raw_data_base\"\n",
"export nnUNet_preprocessed=$MONAI_DATA_DIRECTORY\"/nnUNet/nnUNet_preprocessed\"\n",
"export nnUNet_results=$MONAI_DATA_DIRECTORY\"/nnUNet/nnUNet_trained_models\"\n",
"\n",
"export BUNDLE=nnUNetBundle\n",
"export PYTHONPATH=$BUNDLE\n",
"\n",
"#export nnUNet_def_n_proc=2\n",
"#export nnUNet_n_proc_DA=2\n",
"export nnUNet_def_n_proc=2\n",
"export nnUNet_n_proc_DA=2\n",
"\n",
"python -m monai.bundle run \\\n",
"--bundle-root nnUNetBundle \\\n",
"--dataset_name_or_id 009 \\\n",
"--config-file nnUNetBundle/configs/train.yaml"
]
},
Expand Down
45 changes: 44 additions & 1 deletion bundle/nnUNet_Bundle.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -938,6 +938,49 @@
"which tree && tree nnUNetBundle || true"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "70a37817",
"metadata": {},
"outputs": [],
"source": [
"%%writefile nnUNetBundle/configs/logging.conf\n",
"[loggers]\n",
"keys=root\n",
"\n",
"[handlers]\n",
"keys=consoleHandler\n",
"\n",
"[formatters]\n",
"keys=fullFormatter\n",
"\n",
"[logger_root]\n",
"level=INFO\n",
"handlers=consoleHandler\n",
"\n",
"[handler_consoleHandler]\n",
"class=StreamHandler\n",
"level=INFO\n",
"formatter=fullFormatter\n",
"args=(sys.stdout,)\n",
"\n",
"[formatter_fullFormatter]\n",
"format=%(asctime)s - %(name)s - %(levelname)s - %(message)s\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4c25feaf",
"metadata": {},
"outputs": [],
"source": [
"%%writefile nnUNetBundle/configs/metadata.json\n",
"\n",
"##TODO: Add metadata, following the instructions in https://docs.monai.io/en/stable/mb_specification.html"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down Expand Up @@ -1717,7 +1760,7 @@
" --bundle_root $BUNDLE_ROOT \\\n",
" --config_file $BUNDLE_ROOT/configs/train.yaml\n",
"\n",
"#Option to resume training\n",
"# Option to resume training\n",
"#--config_file \"['$BUNDLE_ROOT/configs/train.yaml','$BUNDLE_ROOT/configs/train_resume.yaml']\"\n",
"\n",
"# Log to Local MLFlow\n",
Expand Down

0 comments on commit 482bb70

Please sign in to comment.