Skip to content

Commit 283d5f5

Browse files
change datasets from task 09 to 04 for all auto3dseg notebooks (#997)
Signed-off-by: Mingxin Zheng <18563433+mingxin-zheng@users.noreply.github.com> Fixes #993 , Fixes #992 , Fixes #972 . ### Description With the recent updates in MONAI core and research contributions, we are able to fit all models for smaller datasets. Therefore, I suggest changing all the datasets from the MSD task 09 to task 04, which has much smaller size and easier to run on different machines. Notebooks are tested on two RTX 3080Ti with 12GB of mem in each. ### Checks <!--- Put an `x` in all the boxes that apply, and remove the not applicable items --> - [ ] Notebook runs automatically `./runner [-p <regex_pattern>]` Signed-off-by: Mingxin Zheng <18563433+mingxin-zheng@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 7bed713 commit 283d5f5

File tree

11 files changed

+993
-817
lines changed

11 files changed

+993
-817
lines changed

auto3dseg/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ We have demonstrated preliminary results of public datasets are described in the
4343
- [INSTANCE22](tasks/instance22)
4444
- [Beyond the Cranial Vault (BTCV) Abdomen Dataset](tasks/btcv)
4545
- Medical Segmentation Decathlon (MSD) Dataset
46+
- [Task04 Task04_Hippocampus](tasks/msd/Task04_Hippocampus)
4647
- [Task05 Prostate](tasks/msd/Task05_Prostate)
4748
- [Task09 Spleen](tasks/msd/Task09_Spleen)
4849

auto3dseg/notebooks/auto3dseg_autorunner_ref_api.ipynb

Lines changed: 43 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
},
2525
{
2626
"cell_type": "code",
27-
"execution_count": 2,
27+
"execution_count": 1,
2828
"metadata": {},
2929
"outputs": [],
3030
"source": [
@@ -40,13 +40,15 @@
4040
},
4141
{
4242
"cell_type": "code",
43-
"execution_count": 3,
43+
"execution_count": 2,
4444
"metadata": {},
4545
"outputs": [],
4646
"source": [
4747
"import os\n",
4848
"import torch\n",
4949
"\n",
50+
"from pathlib import Path\n",
51+
"\n",
5052
"from monai.apps import download_and_extract\n",
5153
"from monai.apps.auto3dseg import (\n",
5254
" DataAnalyzer,\n",
@@ -69,33 +71,26 @@
6971
},
7072
{
7173
"cell_type": "code",
72-
"execution_count": 4,
74+
"execution_count": 3,
7375
"metadata": {},
7476
"outputs": [
75-
{
76-
"name": "stderr",
77-
"output_type": "stream",
78-
"text": [
79-
"Task09_Spleen.tar: 1.50GB [00:43, 36.7MB/s] \n"
80-
]
81-
},
8277
{
8378
"name": "stdout",
8479
"output_type": "stream",
8580
"text": [
86-
"2022-09-29 03:49:02,357 - INFO - Downloaded: Task09_Spleen.tar\n",
87-
"2022-09-29 03:49:02,359 - INFO - Expected md5 is None, skip md5 check for file Task09_Spleen.tar.\n",
88-
"2022-09-29 03:49:02,359 - INFO - Writing into directory: ./.\n"
81+
"2022-10-18 08:14:33,395 - INFO - Expected md5 is None, skip md5 check for file Task04_Hippocampus.tar.\n",
82+
"2022-10-18 08:14:33,395 - INFO - File exists: Task04_Hippocampus.tar, skipped downloading.\n",
83+
"2022-10-18 08:14:33,396 - INFO - Non-empty folder exists in Task04_Hippocampus, skipped extracting.\n"
8984
]
9085
}
9186
],
9287
"source": [
93-
"root = \"./\"\n",
88+
"root = str(Path(\".\"))\n",
9489
"work_dir = os.path.join(root, 'ref_api_work_dir')\n",
9590
"if not os.path.isdir(work_dir):\n",
9691
" os.makedirs(work_dir)\n",
9792
"\n",
98-
"msd_task = \"Task09_Spleen\"\n",
93+
"msd_task = \"Task04_Hippocampus\"\n",
9994
"dataroot = os.path.join(root, msd_task)\n",
10095
"datalist_file = os.path.join(\"..\", \"tasks\", \"msd\", msd_task, \"msd_\" + msd_task.lower() + \"_folds.json\")\n",
10196
"\n",
@@ -114,7 +109,7 @@
114109
},
115110
{
116111
"cell_type": "code",
117-
"execution_count": 5,
112+
"execution_count": 4,
118113
"metadata": {},
119114
"outputs": [],
120115
"source": [
@@ -157,21 +152,7 @@
157152
"name": "stderr",
158153
"output_type": "stream",
159154
"text": [
160-
"100%|██████████| 40/40 [01:34<00:00, 2.37s/it]"
161-
]
162-
},
163-
{
164-
"name": "stdout",
165-
"output_type": "stream",
166-
"text": [
167-
"2022-09-29 01:43:36,891 - WARNING - Data is not completely uniform. MONAI transforms may provide unexpected result\n"
168-
]
169-
},
170-
{
171-
"name": "stderr",
172-
"output_type": "stream",
173-
"text": [
174-
"\n"
155+
"100%|██████████| 30/30 [00:00<00:00, 71.04it/s]\n"
175156
]
176157
}
177158
],
@@ -188,7 +169,7 @@
188169
"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",
189170
"\n",
190171
"```bash\n",
191-
"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",
172+
"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",
192173
"```"
193174
]
194175
},
@@ -214,16 +195,16 @@
214195
"name": "stderr",
215196
"output_type": "stream",
216197
"text": [
217-
"algo_templates.tar.gz: 100%|██████████| 280k/280k [00:00<00:00, 607kB/s] "
198+
"algo_templates.tar.gz: 296kB [00:01, 247kB/s] "
218199
]
219200
},
220201
{
221202
"name": "stdout",
222203
"output_type": "stream",
223204
"text": [
224-
"2022-09-29 01:43:37,829 - INFO - Downloaded: /tmp/tmpodiia3qq/algo_templates.tar.gz\n",
225-
"2022-09-29 01:43:37,830 - INFO - Expected md5 is None, skip md5 check for file /tmp/tmpodiia3qq/algo_templates.tar.gz.\n",
226-
"2022-09-29 01:43:37,830 - INFO - Writing into directory: ./ref_api_work_dir.\n"
205+
"2022-10-18 08:14:35,703 - INFO - Downloaded: /tmp/tmps2pt5u7y/algo_templates.tar.gz\n",
206+
"2022-10-18 08:14:35,705 - INFO - Expected md5 is None, skip md5 check for file /tmp/tmps2pt5u7y/algo_templates.tar.gz.\n",
207+
"2022-10-18 08:14:35,706 - INFO - Writing into directory: ./ref_api_work_dir.\n"
227208
]
228209
},
229210
{
@@ -237,26 +218,26 @@
237218
"name": "stdout",
238219
"output_type": "stream",
239220
"text": [
240-
"2022-09-29 01:43:38,651 - INFO - ./ref_api_work_dir/segresnet2d_0\n",
241-
"2022-09-29 01:43:39,029 - INFO - ./ref_api_work_dir/segresnet2d_1\n",
242-
"2022-09-29 01:43:39,411 - INFO - ./ref_api_work_dir/segresnet2d_2\n",
243-
"2022-09-29 01:43:39,916 - INFO - ./ref_api_work_dir/segresnet2d_3\n",
244-
"2022-09-29 01:43:40,373 - INFO - ./ref_api_work_dir/segresnet2d_4\n",
245-
"2022-09-29 01:43:41,656 - INFO - ./ref_api_work_dir/dints_0\n",
246-
"2022-09-29 01:43:42,284 - INFO - ./ref_api_work_dir/dints_1\n",
247-
"2022-09-29 01:43:42,678 - INFO - ./ref_api_work_dir/dints_2\n",
248-
"2022-09-29 01:43:43,172 - INFO - ./ref_api_work_dir/dints_3\n",
249-
"2022-09-29 01:43:43,681 - INFO - ./ref_api_work_dir/dints_4\n",
250-
"2022-09-29 01:43:44,448 - INFO - ./ref_api_work_dir/swinunetr_0\n",
251-
"2022-09-29 01:43:44,807 - INFO - ./ref_api_work_dir/swinunetr_1\n",
252-
"2022-09-29 01:43:45,177 - INFO - ./ref_api_work_dir/swinunetr_2\n",
253-
"2022-09-29 01:43:45,687 - INFO - ./ref_api_work_dir/swinunetr_3\n",
254-
"2022-09-29 01:43:48,313 - INFO - ./ref_api_work_dir/swinunetr_4\n",
255-
"2022-09-29 01:43:48,983 - INFO - ./ref_api_work_dir/segresnet_0\n",
256-
"2022-09-29 01:43:49,597 - INFO - ./ref_api_work_dir/segresnet_1\n",
257-
"2022-09-29 01:43:50,008 - INFO - ./ref_api_work_dir/segresnet_2\n",
258-
"2022-09-29 01:43:50,393 - INFO - ./ref_api_work_dir/segresnet_3\n",
259-
"2022-09-29 01:43:51,990 - INFO - ./ref_api_work_dir/segresnet_4\n"
221+
"2022-10-18 08:14:36,019 - INFO - ./ref_api_work_dir/segresnet2d_0\n",
222+
"2022-10-18 08:14:36,270 - INFO - ./ref_api_work_dir/segresnet2d_1\n",
223+
"2022-10-18 08:14:36,616 - INFO - ./ref_api_work_dir/segresnet2d_2\n",
224+
"2022-10-18 08:14:36,879 - INFO - ./ref_api_work_dir/segresnet2d_3\n",
225+
"2022-10-18 08:14:37,142 - INFO - ./ref_api_work_dir/segresnet2d_4\n",
226+
"2022-10-18 08:14:37,412 - INFO - ./ref_api_work_dir/dints_0\n",
227+
"2022-10-18 08:14:37,799 - INFO - ./ref_api_work_dir/dints_1\n",
228+
"2022-10-18 08:14:38,071 - INFO - ./ref_api_work_dir/dints_2\n",
229+
"2022-10-18 08:14:38,343 - INFO - ./ref_api_work_dir/dints_3\n",
230+
"2022-10-18 08:14:38,717 - INFO - ./ref_api_work_dir/dints_4\n",
231+
"2022-10-18 08:14:38,975 - INFO - ./ref_api_work_dir/swinunetr_0\n",
232+
"2022-10-18 08:14:39,233 - INFO - ./ref_api_work_dir/swinunetr_1\n",
233+
"2022-10-18 08:14:39,492 - INFO - ./ref_api_work_dir/swinunetr_2\n",
234+
"2022-10-18 08:14:39,849 - INFO - ./ref_api_work_dir/swinunetr_3\n",
235+
"2022-10-18 08:14:40,106 - INFO - ./ref_api_work_dir/swinunetr_4\n",
236+
"2022-10-18 08:14:40,398 - INFO - ./ref_api_work_dir/segresnet_0\n",
237+
"2022-10-18 08:14:40,771 - INFO - ./ref_api_work_dir/segresnet_1\n",
238+
"2022-10-18 08:14:41,042 - INFO - ./ref_api_work_dir/segresnet_2\n",
239+
"2022-10-18 08:14:41,309 - INFO - ./ref_api_work_dir/segresnet_3\n",
240+
"2022-10-18 08:14:41,574 - INFO - ./ref_api_work_dir/segresnet_4\n"
260241
]
261242
}
262243
],
@@ -318,21 +299,13 @@
318299
},
319300
{
320301
"cell_type": "code",
321-
"execution_count": 6,
302+
"execution_count": null,
322303
"metadata": {},
323-
"outputs": [
324-
{
325-
"name": "stdout",
326-
"output_type": "stream",
327-
"text": [
328-
"{'num_iterations': 32000, 'num_iterations_per_validation': 16000, 'num_images_per_batch': 2, 'num_epochs': 2000, 'num_warmup_iterations': 16000}\n"
329-
]
330-
}
331-
],
304+
"outputs": [],
332305
"source": [
333306
"# 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",
334307
"\n",
335-
"max_epochs = 2000\n",
308+
"max_epochs = 2 # change epoch number to 2 to cut down the notebook running time\n",
336309
"\n",
337310
"# safeguard to ensure max_epochs is greater or equal to 2\n",
338311
"max_epochs = max(max_epochs, 2)\n",
@@ -370,7 +343,7 @@
370343
},
371344
{
372345
"cell_type": "code",
373-
"execution_count": null,
346+
"execution_count": 9,
374347
"metadata": {},
375348
"outputs": [],
376349
"source": [
@@ -438,7 +411,7 @@
438411
},
439412
{
440413
"cell_type": "code",
441-
"execution_count": null,
414+
"execution_count": 10,
442415
"metadata": {},
443416
"outputs": [],
444417
"source": [
@@ -466,7 +439,7 @@
466439
"name": "python",
467440
"nbconvert_exporter": "python",
468441
"pygments_lexer": "ipython3",
469-
"version": "3.8.12"
442+
"version": "3.8.13"
470443
},
471444
"vscode": {
472445
"interpreter": {

0 commit comments

Comments
 (0)