Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions auto3dseg/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ We have demonstrated preliminary results of public datasets are described in the
- [INSTANCE22](tasks/instance22)
- [Beyond the Cranial Vault (BTCV) Abdomen Dataset](tasks/btcv)
- Medical Segmentation Decathlon (MSD) Dataset
- [Task04 Task04_Hippocampus](tasks/msd/Task04_Hippocampus)
- [Task05 Prostate](tasks/msd/Task05_Prostate)
- [Task09 Spleen](tasks/msd/Task09_Spleen)

Expand Down
113 changes: 43 additions & 70 deletions auto3dseg/notebooks/auto3dseg_autorunner_ref_api.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -40,13 +40,15 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import torch\n",
"\n",
"from pathlib import Path\n",
"\n",
"from monai.apps import download_and_extract\n",
"from monai.apps.auto3dseg import (\n",
" DataAnalyzer,\n",
Expand All @@ -69,33 +71,26 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Task09_Spleen.tar: 1.50GB [00:43, 36.7MB/s] \n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-09-29 03:49:02,357 - INFO - Downloaded: Task09_Spleen.tar\n",
"2022-09-29 03:49:02,359 - INFO - Expected md5 is None, skip md5 check for file Task09_Spleen.tar.\n",
"2022-09-29 03:49:02,359 - INFO - Writing into directory: ./.\n"
"2022-10-18 08:14:33,395 - INFO - Expected md5 is None, skip md5 check for file Task04_Hippocampus.tar.\n",
"2022-10-18 08:14:33,395 - INFO - File exists: Task04_Hippocampus.tar, skipped downloading.\n",
"2022-10-18 08:14:33,396 - INFO - Non-empty folder exists in Task04_Hippocampus, skipped extracting.\n"
]
}
],
"source": [
"root = \"./\"\n",
"root = str(Path(\".\"))\n",
"work_dir = os.path.join(root, 'ref_api_work_dir')\n",
"if not os.path.isdir(work_dir):\n",
" os.makedirs(work_dir)\n",
"\n",
"msd_task = \"Task09_Spleen\"\n",
"msd_task = \"Task04_Hippocampus\"\n",
"dataroot = os.path.join(root, msd_task)\n",
"datalist_file = os.path.join(\"..\", \"tasks\", \"msd\", msd_task, \"msd_\" + msd_task.lower() + \"_folds.json\")\n",
"\n",
Expand All @@ -114,7 +109,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
Expand Down Expand Up @@ -157,21 +152,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 40/40 [01:34<00:00, 2.37s/it]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-09-29 01:43:36,891 - WARNING - Data is not completely uniform. MONAI transforms may provide unexpected result\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
"100%|██████████| 30/30 [00:00<00:00, 71.04it/s]\n"
]
}
],
Expand All @@ -188,7 +169,7 @@
"Besides the Python API call, user can also use command line interface (CLI) provided by the user's OS. One example is the following bash commands:\n",
"\n",
"```bash\n",
"python -m monai.apps.auto3dseg DataAnalyzer get_all_case_stats --datalist=\"../tasks/msd/Task09_Spleen/msd_task09_spleen_folds.json\" --dataroot=\"./Task09_Spleen\" --output_path=\"./ref_api_work_dir/data_stats.yaml\"\n",
"python -m monai.apps.auto3dseg DataAnalyzer get_all_case_stats --datalist=\"../tasks/msd/Task04_Hippocampus/msd_task04_hippocampus_folds.json\" --dataroot=\"./Task04_Hippocampus\" --output_path=\"./ref_api_work_dir/data_stats.yaml\"\n",
"```"
]
},
Expand All @@ -214,16 +195,16 @@
"name": "stderr",
"output_type": "stream",
"text": [
"algo_templates.tar.gz: 100%|██████████| 280k/280k [00:00<00:00, 607kB/s] "
"algo_templates.tar.gz: 296kB [00:01, 247kB/s] "
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-09-29 01:43:37,829 - INFO - Downloaded: /tmp/tmpodiia3qq/algo_templates.tar.gz\n",
"2022-09-29 01:43:37,830 - INFO - Expected md5 is None, skip md5 check for file /tmp/tmpodiia3qq/algo_templates.tar.gz.\n",
"2022-09-29 01:43:37,830 - INFO - Writing into directory: ./ref_api_work_dir.\n"
"2022-10-18 08:14:35,703 - INFO - Downloaded: /tmp/tmps2pt5u7y/algo_templates.tar.gz\n",
"2022-10-18 08:14:35,705 - INFO - Expected md5 is None, skip md5 check for file /tmp/tmps2pt5u7y/algo_templates.tar.gz.\n",
"2022-10-18 08:14:35,706 - INFO - Writing into directory: ./ref_api_work_dir.\n"
]
},
{
Expand All @@ -237,26 +218,26 @@
"name": "stdout",
"output_type": "stream",
"text": [
"2022-09-29 01:43:38,651 - INFO - ./ref_api_work_dir/segresnet2d_0\n",
"2022-09-29 01:43:39,029 - INFO - ./ref_api_work_dir/segresnet2d_1\n",
"2022-09-29 01:43:39,411 - INFO - ./ref_api_work_dir/segresnet2d_2\n",
"2022-09-29 01:43:39,916 - INFO - ./ref_api_work_dir/segresnet2d_3\n",
"2022-09-29 01:43:40,373 - INFO - ./ref_api_work_dir/segresnet2d_4\n",
"2022-09-29 01:43:41,656 - INFO - ./ref_api_work_dir/dints_0\n",
"2022-09-29 01:43:42,284 - INFO - ./ref_api_work_dir/dints_1\n",
"2022-09-29 01:43:42,678 - INFO - ./ref_api_work_dir/dints_2\n",
"2022-09-29 01:43:43,172 - INFO - ./ref_api_work_dir/dints_3\n",
"2022-09-29 01:43:43,681 - INFO - ./ref_api_work_dir/dints_4\n",
"2022-09-29 01:43:44,448 - INFO - ./ref_api_work_dir/swinunetr_0\n",
"2022-09-29 01:43:44,807 - INFO - ./ref_api_work_dir/swinunetr_1\n",
"2022-09-29 01:43:45,177 - INFO - ./ref_api_work_dir/swinunetr_2\n",
"2022-09-29 01:43:45,687 - INFO - ./ref_api_work_dir/swinunetr_3\n",
"2022-09-29 01:43:48,313 - INFO - ./ref_api_work_dir/swinunetr_4\n",
"2022-09-29 01:43:48,983 - INFO - ./ref_api_work_dir/segresnet_0\n",
"2022-09-29 01:43:49,597 - INFO - ./ref_api_work_dir/segresnet_1\n",
"2022-09-29 01:43:50,008 - INFO - ./ref_api_work_dir/segresnet_2\n",
"2022-09-29 01:43:50,393 - INFO - ./ref_api_work_dir/segresnet_3\n",
"2022-09-29 01:43:51,990 - INFO - ./ref_api_work_dir/segresnet_4\n"
"2022-10-18 08:14:36,019 - INFO - ./ref_api_work_dir/segresnet2d_0\n",
"2022-10-18 08:14:36,270 - INFO - ./ref_api_work_dir/segresnet2d_1\n",
"2022-10-18 08:14:36,616 - INFO - ./ref_api_work_dir/segresnet2d_2\n",
"2022-10-18 08:14:36,879 - INFO - ./ref_api_work_dir/segresnet2d_3\n",
"2022-10-18 08:14:37,142 - INFO - ./ref_api_work_dir/segresnet2d_4\n",
"2022-10-18 08:14:37,412 - INFO - ./ref_api_work_dir/dints_0\n",
"2022-10-18 08:14:37,799 - INFO - ./ref_api_work_dir/dints_1\n",
"2022-10-18 08:14:38,071 - INFO - ./ref_api_work_dir/dints_2\n",
"2022-10-18 08:14:38,343 - INFO - ./ref_api_work_dir/dints_3\n",
"2022-10-18 08:14:38,717 - INFO - ./ref_api_work_dir/dints_4\n",
"2022-10-18 08:14:38,975 - INFO - ./ref_api_work_dir/swinunetr_0\n",
"2022-10-18 08:14:39,233 - INFO - ./ref_api_work_dir/swinunetr_1\n",
"2022-10-18 08:14:39,492 - INFO - ./ref_api_work_dir/swinunetr_2\n",
"2022-10-18 08:14:39,849 - INFO - ./ref_api_work_dir/swinunetr_3\n",
"2022-10-18 08:14:40,106 - INFO - ./ref_api_work_dir/swinunetr_4\n",
"2022-10-18 08:14:40,398 - INFO - ./ref_api_work_dir/segresnet_0\n",
"2022-10-18 08:14:40,771 - INFO - ./ref_api_work_dir/segresnet_1\n",
"2022-10-18 08:14:41,042 - INFO - ./ref_api_work_dir/segresnet_2\n",
"2022-10-18 08:14:41,309 - INFO - ./ref_api_work_dir/segresnet_3\n",
"2022-10-18 08:14:41,574 - INFO - ./ref_api_work_dir/segresnet_4\n"
]
}
],
Expand Down Expand Up @@ -318,21 +299,13 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'num_iterations': 32000, 'num_iterations_per_validation': 16000, 'num_images_per_batch': 2, 'num_epochs': 2000, 'num_warmup_iterations': 16000}\n"
]
}
],
"outputs": [],
"source": [
"# The training params are optional. If you don't want to change the default settings, you can use either `train()` or `train({})` in 2.3.2 \n",
"\n",
"max_epochs = 2000\n",
"max_epochs = 2 # change epoch number to 2 to cut down the notebook running time\n",
"\n",
"# safeguard to ensure max_epochs is greater or equal to 2\n",
"max_epochs = max(max_epochs, 2)\n",
Expand Down Expand Up @@ -370,7 +343,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
Expand Down Expand Up @@ -438,7 +411,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
Expand Down Expand Up @@ -466,7 +439,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.12"
"version": "3.8.13"
},
"vscode": {
"interpreter": {
Expand Down
Loading