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 .github/workflows/test-modified.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
do
if [[ $line == *.ipynb ]]
then
date
./runner.sh -p " -and -wholename './${line}'"
fi
done
2 changes: 1 addition & 1 deletion 2d_classification/mednist_tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@
"compressed_file = os.path.join(root_dir, \"MedNIST.tar.gz\")\n",
"data_dir = os.path.join(root_dir, \"MedNIST\")\n",
"if not os.path.exists(data_dir):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down
9 changes: 5 additions & 4 deletions 2d_classification/monai_201.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -195,12 +195,13 @@
"max_epochs = 5\n",
"save_interval = 2\n",
"out_dir = \"./eval\"\n",
"model = densenet121(spatial_dims=2, in_channels=1, out_channels=6).to(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"model = densenet121(spatial_dims=2, in_channels=1, out_channels=6).to(device)\n",
"\n",
"logging.basicConfig(stream=sys.stdout, level=logging.INFO)\n",
"\n",
"evaluator = SupervisedEvaluator(\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
" val_data_loader=DataLoader(valdata, batch_size=512, shuffle=False, num_workers=4),\n",
" network=model,\n",
" inferer=SimpleInferer(),\n",
Expand All @@ -209,7 +210,7 @@
")\n",
"\n",
"trainer = SupervisedTrainer(\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
" max_epochs=max_epochs,\n",
" train_data_loader=DataLoader(dataset, batch_size=512, shuffle=True, num_workers=4),\n",
" network=model,\n",
Expand Down Expand Up @@ -313,7 +314,7 @@
],
"source": [
"evaluator = SupervisedEvaluator(\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
" val_data_loader=DataLoader(testdata, batch_size=1, num_workers=0),\n",
" network=model,\n",
" inferer=SimpleInferer(),\n",
Expand Down
2 changes: 1 addition & 1 deletion 2d_registration/registration_mednist.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@
}
],
"source": [
"device = torch.device(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"model = GlobalNet(\n",
" image_size=(64, 64), spatial_dims=2, in_channels=2, num_channel_initial=16, depth=3 # moving and fixed\n",
").to(device)\n",
Expand Down
2 changes: 1 addition & 1 deletion 3d_classification/densenet_training_array.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
" dataset_dir = os.path.join(root_dir, \"ixi\")\n",
" tarfile_name = f\"{dataset_dir}.tar\"\n",
"\n",
" download_and_extract(resource, tarfile_name, dataset_dir, md5)"
" download_and_extract(resource, tarfile_name, dataset_dir, md5, \"md5\")"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion 3d_registration/learn2reg_nlst_paired_lung_ct.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -598,7 +598,7 @@
"outputs": [],
"source": [
"# device, optimizer, epoch and batch settings\n",
"device = \"cuda:0\"\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"batch_size = 4\n",
"lr = 1e-4\n",
"weight_decay = 1e-5\n",
Expand Down
2 changes: 1 addition & 1 deletion 3d_regression/densenet_training_array.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@
" dataset_dir = os.path.join(root_dir, \"ixi\")\n",
" tarfile_name = f\"{dataset_dir}.tar\"\n",
"\n",
" download_and_extract(resource, tarfile_name, dataset_dir, md5)"
" download_and_extract(resource, tarfile_name, dataset_dir, md5, \"md5\")"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion 3d_segmentation/brats_segmentation_3d.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@
"VAL_AMP = True\n",
"\n",
"# standard PyTorch program style: create SegResNet, DiceLoss and Adam optimizer\n",
"device = torch.device(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
Comment thread
ericspod marked this conversation as resolved.
"model = SegResNet(\n",
" blocks_down=[1, 2, 2, 4],\n",
" blocks_up=[1, 1, 1],\n",
Expand Down
4 changes: 2 additions & 2 deletions 3d_segmentation/spleen_segmentation_3d.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@
"compressed_file = os.path.join(root_dir, \"Task09_Spleen.tar\")\n",
"data_dir = os.path.join(root_dir, \"Task09_Spleen\")\n",
"if not os.path.exists(data_dir):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down Expand Up @@ -432,7 +432,7 @@
"outputs": [],
"source": [
"# standard PyTorch program style: create UNet, DiceLoss and Adam optimizer\n",
"device = torch.device(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"model = UNet(\n",
" spatial_dims=3,\n",
" in_channels=1,\n",
Expand Down
6 changes: 3 additions & 3 deletions 3d_segmentation/spleen_segmentation_3d_lightning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
"compressed_file = os.path.join(root_dir, \"Task09_Spleen.tar\")\n",
"data_dir = os.path.join(root_dir, \"Task09_Spleen\")\n",
"if not os.path.exists(data_dir):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down Expand Up @@ -432,7 +432,7 @@
"\n",
"# initialise Lightning's trainer.\n",
"trainer = pytorch_lightning.Trainer(\n",
" devices=[0],\n",
" devices=1,\n",
" max_epochs=600,\n",
" logger=tb_logger,\n",
" enable_checkpointing=True,\n",
Expand Down Expand Up @@ -652,7 +652,7 @@
],
"source": [
"net.eval()\n",
"device = torch.device(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"net.to(device)\n",
"with torch.no_grad():\n",
" for i, val_data in enumerate(net.val_dataloader()):\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@
"compressed_file = os.path.join(root_dir, \"Task09_Spleen.tar\")\n",
"data_dir = os.path.join(root_dir, \"Task09_Spleen\")\n",
"if not os.path.exists(data_dir):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion 3d_segmentation/unet_segmentation_3d_ignite.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@
"outputs": [],
"source": [
"# Create UNet, DiceLoss and Adam optimizer\n",
"device = torch.device(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"net = UNet(\n",
" spatial_dims=3,\n",
" in_channels=1,\n",
Expand Down
2 changes: 1 addition & 1 deletion 3d_segmentation/unetr_btcv_segmentation_3d_lightning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@
"\n",
"# initialise Lightning's trainer.\n",
"trainer = pytorch_lightning.Trainer(\n",
" devices=[0],\n",
" devices=1,\n",
" max_epochs=net.max_epochs,\n",
" check_val_every_n_epoch=net.check_val,\n",
" callbacks=checkpoint_callback,\n",
Expand Down
2 changes: 1 addition & 1 deletion acceleration/TensorRT_inference_acceleration.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@
"compressed_file = os.path.join(root_dir, \"endoscopic_tool_dataset.zip\")\n",
"data_root = os.path.join(root_dir, \"endoscopic_tool_dataset\")\n",
"if not os.path.exists(data_root):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down
36 changes: 23 additions & 13 deletions acceleration/automatic_mixed_precision.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,17 @@
" ScaleIntensityRanged,\n",
" Spacingd,\n",
")\n",
"from monai.utils import get_torch_version_tuple, set_determinism\n",
"from monai.utils import set_determinism\n",
"\n",
"print_config()\n",
"\n",
"if get_torch_version_tuple() < (1, 6):\n",
" raise RuntimeError(\"AMP feature only exists in PyTorch version greater than v1.6.\")"
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"\n",
"if not torch.cuda.is_available() or torch.cuda.device_count() == 0:\n",
" print(\n",
" \"Warning: no CUDA device available, this notebook will still run but the AMP \"\n",
" \"feature will not provide any acceleration.\"\n",
" )"
]
},
{
Expand Down Expand Up @@ -145,7 +150,7 @@
"compressed_file = os.path.join(root_dir, \"Task09_Spleen.tar\")\n",
"data_root = os.path.join(root_dir, \"Task09_Spleen\")\n",
"if not os.path.exists(data_root):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down Expand Up @@ -277,7 +282,6 @@
" num_workers=1,\n",
" )\n",
" val_loader = DataLoader(val_ds, batch_size=1, num_workers=1)\n",
" device = torch.device(\"cuda:0\")\n",
" model = UNet(\n",
" spatial_dims=3,\n",
" in_channels=1,\n",
Expand Down Expand Up @@ -431,7 +435,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -471,8 +475,11 @@
}
],
"source": [
"print(torch.cuda.get_device_name(0))\n",
"print(torch.cuda.memory_summary(0, abbreviated=True))"
"if device.type == \"cuda\":\n",
" print(torch.cuda.get_device_name(0))\n",
" print(torch.cuda.memory_summary(0, abbreviated=True))\n",
"else:\n",
" print(\"Not using a CUDA device!\")"
]
},
{
Expand Down Expand Up @@ -511,7 +518,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -551,8 +558,11 @@
}
],
"source": [
"print(torch.cuda.get_device_name(0))\n",
"print(torch.cuda.memory_summary(0, abbreviated=True))"
"if device.type == \"cuda\":\n",
" print(torch.cuda.get_device_name(0))\n",
" print(torch.cuda.memory_summary(0, abbreviated=True))\n",
"else:\n",
" print(\"Not using a CUDA device!\")"
]
},
{
Expand Down Expand Up @@ -787,7 +797,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "monai",
"language": "python",
"name": "python3"
},
Expand All @@ -801,7 +811,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.13"
"version": "3.10.20"
}
},
"nbformat": 4,
Expand Down
4 changes: 2 additions & 2 deletions acceleration/dataset_type_performance.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
" num_workers=8,\n",
" )\n",
" val_loader = DataLoader(val_ds, batch_size=1, num_workers=4)\n",
" device = torch.device(\"cuda:0\")\n",
" device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
" model = UNet(\n",
" spatial_dims=3,\n",
" in_channels=1,\n",
Expand Down Expand Up @@ -311,7 +311,7 @@
"compressed_file = os.path.join(root_dir, \"Task09_Spleen.tar\")\n",
"data_dir = os.path.join(root_dir, \"Task09_Spleen\")\n",
"if not os.path.exists(data_dir):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion acceleration/fast_training_tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@
"compressed_file = os.path.join(root_dir, \"Task09_Spleen.tar\")\n",
"data_root = os.path.join(root_dir, \"Task09_Spleen\")\n",
"if not os.path.exists(data_root):\n",
" download_and_extract(resource, compressed_file, root_dir, md5)"
" download_and_extract(resource, compressed_file, root_dir, md5, \"md5\")"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion acceleration/threadbuffer_performance.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@
"metadata": {},
"outputs": [],
"source": [
"device = torch.device(\"cuda:0\")\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"net = UNet(2, 1, 1, (8, 16, 32), (2, 2), num_res_units=2).to(device)\n",
"loss_function = Dice(sigmoid=True)\n",
"optimizer = torch.optim.Adam(net.parameters(), 1e-5)\n",
Expand Down
26 changes: 17 additions & 9 deletions acceleration/transform_speed.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,12 @@
")\n",
"from monai.utils import first\n",
"\n",
"print_config()"
"print_config()\n",
"\n",
"device = torch.device(\"cuda:0\" if torch.cuda.device_count() > 0 else \"cpu\")\n",
"\n",
"if not torch.cuda.is_available() or torch.cuda.device_count() == 0:\n",
" print(\"Warning: no CUDA device available, this notebook will run but no GPU acceleration will be present.\")"
]
},
{
Expand Down Expand Up @@ -308,7 +313,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": null,
"metadata": {
"tags": []
},
Expand All @@ -332,15 +337,15 @@
" translate_range=(96, 96, 96),\n",
" spatial_size=(64, 64, 64),\n",
" mode=\"bilinear\",\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
")\n",
"rand_affine_seg = RandAffine(\n",
" prob=1.0,\n",
" rotate_range=np.pi / 4,\n",
" translate_range=(96, 96, 96),\n",
" spatial_size=(64, 64, 64),\n",
" mode=\"nearest\",\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
")\n",
"\n",
"imtrans = Compose([LoadImage(image_only=True), ScaleIntensity(), EnsureChannelFirst(), rand_affine_img])\n",
Expand Down Expand Up @@ -377,7 +382,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": null,
"metadata": {
"tags": []
},
Expand Down Expand Up @@ -415,8 +420,11 @@
}
],
"source": [
"print(torch.cuda.get_device_name(0))\n",
"print(torch.cuda.memory_summary(0, abbreviated=True))"
"if device.type == \"cuda\":\n",
" print(torch.cuda.get_device_name(0))\n",
" print(torch.cuda.memory_summary(0, abbreviated=True))\n",
"else:\n",
" print(\"Not using a CUDA device!\")"
]
},
{
Expand Down Expand Up @@ -458,7 +466,7 @@
" spatial_size=(64, 64, 64),\n",
" mode=3,\n",
" padding_mode=\"reflect\",\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
")\n",
"rand_affine_seg = RandAffine(\n",
" prob=1.0,\n",
Expand All @@ -467,7 +475,7 @@
" spatial_size=(64, 64, 64),\n",
" mode=0,\n",
" padding_mode=\"reflect\",\n",
" device=torch.device(\"cuda:0\"),\n",
" device=device,\n",
")\n",
"\n",
"imtrans = Compose([LoadImage(image_only=True), ScaleIntensity(), EnsureChannelFirst(), rand_affine_img])\n",
Expand Down
Loading
Loading