|
28 | 28 | },
|
29 | 29 | {
|
30 | 30 | "cell_type": "code",
|
31 |
| - "execution_count": 2, |
| 31 | + "execution_count": null, |
32 | 32 | "metadata": {},
|
33 |
| - "outputs": [ |
34 |
| - { |
35 |
| - "name": "stdout", |
36 |
| - "output_type": "stream", |
37 |
| - "text": [ |
38 |
| - "Note: you may need to restart the kernel to use updated packages.\n" |
39 |
| - ] |
40 |
| - } |
41 |
| - ], |
| 33 | + "outputs": [], |
42 | 34 | "source": [
|
43 | 35 | "!python -c \"import monai\" || pip install -q \"monai-weekly[nibabel, tqdm]\"\n",
|
44 | 36 | "!python -c \"import matplotlib\" || pip install -q matplotlib\n",
|
|
54 | 46 | },
|
55 | 47 | {
|
56 | 48 | "cell_type": "code",
|
57 |
| - "execution_count": 1, |
| 49 | + "execution_count": null, |
58 | 50 | "metadata": {},
|
59 |
| - "outputs": [ |
60 |
| - { |
61 |
| - "name": "stdout", |
62 |
| - "output_type": "stream", |
63 |
| - "text": [ |
64 |
| - "MONAI version: 0.6.0rc1+15.gf3d436a0\n", |
65 |
| - "Numpy version: 1.20.3\n", |
66 |
| - "Pytorch version: 1.9.0a0+c3d40fd\n", |
67 |
| - "MONAI flags: HAS_EXT = True, USE_COMPILED = False\n", |
68 |
| - "MONAI rev id: f3d436a09deefcf905ece2faeec37f55ab030003\n", |
69 |
| - "\n", |
70 |
| - "Optional dependencies:\n", |
71 |
| - "Pytorch Ignite version: 0.4.5\n", |
72 |
| - "Nibabel version: 3.2.1\n", |
73 |
| - "scikit-image version: 0.15.0\n", |
74 |
| - "Pillow version: 8.2.0\n", |
75 |
| - "Tensorboard version: 2.5.0\n", |
76 |
| - "gdown version: 3.13.0\n", |
77 |
| - "TorchVision version: 0.10.0a0\n", |
78 |
| - "ITK version: 5.1.2\n", |
79 |
| - "tqdm version: 4.53.0\n", |
80 |
| - "lmdb version: 1.2.1\n", |
81 |
| - "psutil version: 5.8.0\n", |
82 |
| - "pandas version: 1.1.4\n", |
83 |
| - "einops version: 0.3.0\n", |
84 |
| - "\n", |
85 |
| - "For details about installing the optional dependencies, please visit:\n", |
86 |
| - " https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n", |
87 |
| - "\n" |
88 |
| - ] |
89 |
| - } |
90 |
| - ], |
| 51 | + "outputs": [], |
91 | 52 | "source": [
|
92 | 53 | "# Copyright 2020 MONAI Consortium\n",
|
93 | 54 | "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
|
|
110 | 71 | "import torch\n",
|
111 | 72 | "from monai.apps import download_and_extract\n",
|
112 | 73 | "from monai.config import print_config\n",
|
113 |
| - "from monai.data import CacheDataset, list_data_collate, decollate_batch\n", |
| 74 | + "from monai.data import CacheDataset, DataLoader, decollate_batch\n", |
114 | 75 | "from monai.inferers import sliding_window_inference\n",
|
115 | 76 | "from monai.losses import DiceLoss\n",
|
116 | 77 | "from monai.metrics import DiceMetric\n",
|
|
127 | 88 | " RandCropByPosNegLabeld,\n",
|
128 | 89 | " ScaleIntensityRanged,\n",
|
129 | 90 | " Spacingd,\n",
|
130 |
| - " EnsureTyped,\n", |
131 |
| - " EnsureType,\n", |
132 | 91 | ")\n",
|
133 | 92 | "from monai.utils import get_torch_version_tuple, set_determinism\n",
|
134 |
| - "from torch.utils.data import DataLoader\n", |
135 | 93 | "\n",
|
136 | 94 | "print_config()\n",
|
137 | 95 | "\n",
|
|
154 | 112 | },
|
155 | 113 | {
|
156 | 114 | "cell_type": "code",
|
157 |
| - "execution_count": 2, |
158 |
| - "metadata": {}, |
159 |
| - "outputs": [ |
160 |
| - { |
161 |
| - "name": "stdout", |
162 |
| - "output_type": "stream", |
163 |
| - "text": [ |
164 |
| - "root dir is: /workspace/data/medical\n" |
165 |
| - ] |
166 |
| - } |
167 |
| - ], |
| 115 | + "execution_count": null, |
| 116 | + "metadata": { |
| 117 | + "scrolled": true |
| 118 | + }, |
| 119 | + "outputs": [], |
168 | 120 | "source": [
|
169 | 121 | "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n",
|
170 | 122 | "root_dir = tempfile.mkdtemp() if directory is None else directory\n",
|
|
182 | 134 | },
|
183 | 135 | {
|
184 | 136 | "cell_type": "code",
|
185 |
| - "execution_count": 3, |
| 137 | + "execution_count": null, |
186 | 138 | "metadata": {},
|
187 | 139 | "outputs": [],
|
188 | 140 | "source": [
|
|
204 | 156 | },
|
205 | 157 | {
|
206 | 158 | "cell_type": "code",
|
207 |
| - "execution_count": 4, |
| 159 | + "execution_count": null, |
208 | 160 | "metadata": {},
|
209 | 161 | "outputs": [],
|
210 | 162 | "source": [
|
|
230 | 182 | },
|
231 | 183 | {
|
232 | 184 | "cell_type": "code",
|
233 |
| - "execution_count": 5, |
| 185 | + "execution_count": null, |
234 | 186 | "metadata": {},
|
235 | 187 | "outputs": [],
|
236 | 188 | "source": [
|
|
275 | 227 | " fg_indices_key=\"label_fg\",\n",
|
276 | 228 | " bg_indices_key=\"label_bg\",\n",
|
277 | 229 | " ),\n",
|
278 |
| - " EnsureTyped(keys=[\"image\", \"label\"]),\n", |
279 | 230 | " ]\n",
|
280 | 231 | " )\n",
|
281 | 232 | " val_transforms = Compose(\n",
|
|
297 | 248 | " clip=True,\n",
|
298 | 249 | " ),\n",
|
299 | 250 | " CropForegroundd(keys=[\"image\", \"label\"], source_key=\"image\"),\n",
|
300 |
| - " EnsureTyped(keys=[\"image\", \"label\"]),\n", |
301 | 251 | " ]\n",
|
302 | 252 | " )\n",
|
303 | 253 | " return train_transforms, val_transforms"
|
|
313 | 263 | },
|
314 | 264 | {
|
315 | 265 | "cell_type": "code",
|
316 |
| - "execution_count": 6, |
| 266 | + "execution_count": null, |
317 | 267 | "metadata": {
|
318 | 268 | "scrolled": true
|
319 | 269 | },
|
|
335 | 285 | " batch_size=2,\n",
|
336 | 286 | " shuffle=True,\n",
|
337 | 287 | " num_workers=1,\n",
|
338 |
| - " collate_fn=list_data_collate,\n", |
339 | 288 | " )\n",
|
340 | 289 | " val_loader = DataLoader(val_ds, batch_size=1, num_workers=1)\n",
|
341 | 290 | " device = torch.device(\"cuda:0\")\n",
|
|
352 | 301 | " optimizer = torch.optim.Adam(model.parameters(), 1e-4)\n",
|
353 | 302 | " scaler = torch.cuda.amp.GradScaler() if amp else None\n",
|
354 | 303 | "\n",
|
355 |
| - " post_pred = Compose([EnsureType(), AsDiscrete(argmax=True, to_onehot=2)])\n", |
356 |
| - " post_label = Compose([EnsureType(), AsDiscrete(to_onehot=2)])\n", |
| 304 | + " post_pred = Compose([AsDiscrete(argmax=True, to_onehot=2)])\n", |
| 305 | + " post_label = Compose([AsDiscrete(to_onehot=2)])\n", |
357 | 306 | "\n",
|
358 | 307 | " dice_metric = DiceMetric(include_background=False, reduction=\"mean\", get_not_nans=False)\n",
|
359 | 308 | "\n",
|
|
474 | 423 | {
|
475 | 424 | "cell_type": "code",
|
476 | 425 | "execution_count": null,
|
477 |
| - "metadata": {}, |
| 426 | + "metadata": { |
| 427 | + "scrolled": true |
| 428 | + }, |
478 | 429 | "outputs": [],
|
479 | 430 | "source": [
|
480 | 431 | "set_determinism(seed=0)\n",
|
|
856 | 807 | ],
|
857 | 808 | "metadata": {
|
858 | 809 | "kernelspec": {
|
859 |
| - "display_name": "Python 3", |
| 810 | + "display_name": "Python 3 (ipykernel)", |
860 | 811 | "language": "python",
|
861 | 812 | "name": "python3"
|
862 | 813 | },
|
|
870 | 821 | "name": "python",
|
871 | 822 | "nbconvert_exporter": "python",
|
872 | 823 | "pygments_lexer": "ipython3",
|
873 |
| - "version": "3.7.10" |
| 824 | + "version": "3.8.13" |
874 | 825 | }
|
875 | 826 | },
|
876 | 827 | "nbformat": 4,
|
|
0 commit comments