|
74 | 74 | "name": "stdout",
|
75 | 75 | "output_type": "stream",
|
76 | 76 | "text": [
|
77 |
| - "MONAI version: 0.9.1rc2+2.gc0268266.dirty\n", |
| 77 | + "MONAI version: 0.9.1rc2+2.gc0268266\n", |
78 | 78 | "Numpy version: 1.23.0\n",
|
79 | 79 | "Pytorch version: 1.12.0+cu102\n",
|
80 | 80 | "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n",
|
|
224 | 224 | "name": "stderr",
|
225 | 225 | "output_type": "stream",
|
226 | 226 | "text": [
|
227 |
| - "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 484/484 [01:49<00:00, 4.43it/s]\n" |
| 227 | + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 484/484 [01:50<00:00, 4.40it/s]\n" |
228 | 228 | ]
|
229 | 229 | }
|
230 | 230 | ],
|
|
342 | 342 | "name": "stderr",
|
343 | 343 | "output_type": "stream",
|
344 | 344 | "text": [
|
345 |
| - "Loading dataset: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 387/387 [00:04<00:00, 81.26it/s]\n", |
346 |
| - "Loading dataset: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████| 97/97 [00:01<00:00, 81.85it/s]\n" |
| 345 | + "Loading dataset: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 387/387 [00:04<00:00, 84.29it/s]\n", |
| 346 | + "Loading dataset: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████| 97/97 [00:01<00:00, 84.79it/s]\n" |
347 | 347 | ]
|
348 | 348 | }
|
349 | 349 | ],
|
|
668 | 668 | "outputs": [
|
669 | 669 | {
|
670 | 670 | "ename": "TypeError",
|
671 |
| - "evalue": "object of type 'NoneType' has no len()", |
| 671 | + "evalue": "list indices must be integers or slices, not str", |
672 | 672 | "output_type": "error",
|
673 | 673 | "traceback": [
|
674 | 674 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
675 | 675 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
676 |
| - "Input \u001b[0;32mIn [16]\u001b[0m, in \u001b[0;36m<cell line: 10>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 9\u001b[0m segs_dict \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel\u001b[39m\u001b[38;5;124m\"\u001b[39m: batch_infer}\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m allow_missing_keys_mode(val_transforms):\n\u001b[0;32m---> 11\u001b[0m fwd_bck_batch_labels \u001b[38;5;241m=\u001b[39m \u001b[43mbatch_inverter\u001b[49m\u001b[43m(\u001b[49m\u001b[43msegs_dict\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[38;5;28mprint\u001b[39m(fwd_bck_batch_labels[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlabel\u001b[39m\u001b[38;5;124m'\u001b[39m])\n", |
677 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/transforms/inverse_batch_transform.py:102\u001b[0m, in \u001b[0;36mBatchInverseTransform.__call__\u001b[0;34m(self, data)\u001b[0m\n\u001b[1;32m 98\u001b[0m inv_loader \u001b[38;5;241m=\u001b[39m DataLoader(\n\u001b[1;32m 99\u001b[0m inv_ds, batch_size\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbatch_size, num_workers\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_workers, collate_fn\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcollate_fn\n\u001b[1;32m 100\u001b[0m )\n\u001b[1;32m 101\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 102\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfirst\u001b[49m\u001b[43m(\u001b[49m\u001b[43minv_loader\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 103\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m re:\n\u001b[1;32m 104\u001b[0m re_str \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mstr\u001b[39m(re)\n", |
678 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/utils/misc.py:82\u001b[0m, in \u001b[0;36mfirst\u001b[0;34m(iterable, default)\u001b[0m\n\u001b[1;32m 78\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfirst\u001b[39m(iterable, default\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 79\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 80\u001b[0m \u001b[38;5;124;03m Returns the first item in the given iterable or `default` if empty, meaningful mostly with 'for' expressions.\u001b[39;00m\n\u001b[1;32m 81\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 82\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m iterable:\n\u001b[1;32m 83\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m i\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m default\n", |
679 |
| - "File \u001b[0;32m~/anaconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py:652\u001b[0m, in \u001b[0;36m_BaseDataLoaderIter.__next__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 649\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sampler_iter \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 650\u001b[0m \u001b[38;5;66;03m# TODO(https://github.com/pytorch/pytorch/issues/76750)\u001b[39;00m\n\u001b[1;32m 651\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reset() \u001b[38;5;66;03m# type: ignore[call-arg]\u001b[39;00m\n\u001b[0;32m--> 652\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_next_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 653\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_num_yielded \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 654\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_dataset_kind \u001b[38;5;241m==\u001b[39m _DatasetKind\u001b[38;5;241m.\u001b[39mIterable \u001b[38;5;129;01mand\u001b[39;00m \\\n\u001b[1;32m 655\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_IterableDataset_len_called \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \\\n\u001b[1;32m 656\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_num_yielded \u001b[38;5;241m>\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_IterableDataset_len_called:\n", |
680 |
| - "File \u001b[0;32m~/anaconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py:692\u001b[0m, in \u001b[0;36m_SingleProcessDataLoaderIter._next_data\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 690\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_next_data\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 691\u001b[0m index \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_next_index() \u001b[38;5;66;03m# may raise StopIteration\u001b[39;00m\n\u001b[0;32m--> 692\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_dataset_fetcher\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfetch\u001b[49m\u001b[43m(\u001b[49m\u001b[43mindex\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# may raise StopIteration\u001b[39;00m\n\u001b[1;32m 693\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_pin_memory:\n\u001b[1;32m 694\u001b[0m data \u001b[38;5;241m=\u001b[39m _utils\u001b[38;5;241m.\u001b[39mpin_memory\u001b[38;5;241m.\u001b[39mpin_memory(data, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_pin_memory_device)\n", |
681 |
| - "File \u001b[0;32m~/anaconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py:49\u001b[0m, in \u001b[0;36m_MapDatasetFetcher.fetch\u001b[0;34m(self, possibly_batched_index)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfetch\u001b[39m(\u001b[38;5;28mself\u001b[39m, possibly_batched_index):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_collation:\n\u001b[0;32m---> 49\u001b[0m data \u001b[38;5;241m=\u001b[39m [\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdataset[idx] \u001b[38;5;28;01mfor\u001b[39;00m idx \u001b[38;5;129;01min\u001b[39;00m possibly_batched_index]\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 51\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdataset[possibly_batched_index]\n", |
682 |
| - "File \u001b[0;32m~/anaconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py:49\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfetch\u001b[39m(\u001b[38;5;28mself\u001b[39m, possibly_batched_index):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_collation:\n\u001b[0;32m---> 49\u001b[0m data \u001b[38;5;241m=\u001b[39m [\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdataset\u001b[49m\u001b[43m[\u001b[49m\u001b[43midx\u001b[49m\u001b[43m]\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m idx \u001b[38;5;129;01min\u001b[39;00m possibly_batched_index]\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 51\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdataset[possibly_batched_index]\n", |
683 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/transforms/inverse_batch_transform.py:39\u001b[0m, in \u001b[0;36m_BatchInverseDataset.__getitem__\u001b[0;34m(self, index)\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[38;5;66;03m# If pad collation was used, then we need to undo this first\u001b[39;00m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpad_collation_used:\n\u001b[0;32m---> 39\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mPadListDataCollate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minverse\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minvertible_transform, InvertibleTransform):\n\u001b[1;32m 42\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtransform is not invertible, can\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt invert transform for the input data.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", |
684 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/transforms/croppad/batch.py:133\u001b[0m, in \u001b[0;36mPadListDataCollate.inverse\u001b[0;34m(data)\u001b[0m\n\u001b[1;32m 131\u001b[0m cropping \u001b[38;5;241m=\u001b[39m CenterSpatialCrop(xform\u001b[38;5;241m.\u001b[39mget(TraceKeys\u001b[38;5;241m.\u001b[39mORIG_SIZE, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m))\n\u001b[1;32m 132\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m cropping\u001b[38;5;241m.\u001b[39mtrace_transform(\u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[0;32m--> 133\u001b[0m d[key] \u001b[38;5;241m=\u001b[39m \u001b[43mcropping\u001b[49m\u001b[43m(\u001b[49m\u001b[43md\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# fallback to image size\u001b[39;00m\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m d\n", |
685 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/transforms/croppad/array.py:525\u001b[0m, in \u001b[0;36mCenterSpatialCrop.__call__\u001b[0;34m(self, img)\u001b[0m\n\u001b[1;32m 519\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, img: torch\u001b[38;5;241m.\u001b[39mTensor) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m torch\u001b[38;5;241m.\u001b[39mTensor: \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[1;32m 520\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 521\u001b[0m \u001b[38;5;124;03m Apply the transform to `img`, assuming `img` is channel-first and\u001b[39;00m\n\u001b[1;32m 522\u001b[0m \u001b[38;5;124;03m slicing doesn't apply to the channel dim.\u001b[39;00m\n\u001b[1;32m 523\u001b[0m \n\u001b[1;32m 524\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 525\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mimg\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mimg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mslices\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompute_slices\u001b[49m\u001b[43m(\u001b[49m\u001b[43mimg\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshape\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n", |
686 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/transforms/croppad/array.py:428\u001b[0m, in \u001b[0;36mCrop.__call__\u001b[0;34m(self, img, slices)\u001b[0m\n\u001b[1;32m 426\u001b[0m img_t \u001b[38;5;241m=\u001b[39m img_t[slices] \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[1;32m 427\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m get_track_meta():\n\u001b[0;32m--> 428\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mupdate_meta\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtensor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mimg_t\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mslices\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mslices\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 429\u001b[0m cropped_from_start \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39masarray([s\u001b[38;5;241m.\u001b[39mindices(o)[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m s, o \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(slices[\u001b[38;5;241m1\u001b[39m:], orig_size)])\n\u001b[1;32m 430\u001b[0m cropped_from_end \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39masarray(orig_size) \u001b[38;5;241m-\u001b[39m img_t\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m1\u001b[39m:] \u001b[38;5;241m-\u001b[39m cropped_from_start\n", |
687 |
| - "File \u001b[0;32m~/Documents/MONAI/monai/transforms/croppad/array.py:436\u001b[0m, in \u001b[0;36mCrop.update_meta\u001b[0;34m(self, tensor, slices)\u001b[0m\n\u001b[1;32m 435\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mupdate_meta\u001b[39m(\u001b[38;5;28mself\u001b[39m, tensor: MetaTensor, slices: Tuple[\u001b[38;5;28mslice\u001b[39m, \u001b[38;5;241m.\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;241m.\u001b[39m]):\n\u001b[0;32m--> 436\u001b[0m spatial_rank \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(\u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mtensor\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maffine\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m1\u001b[39m)\n\u001b[1;32m 437\u001b[0m to_shift \u001b[38;5;241m=\u001b[39m [s\u001b[38;5;241m.\u001b[39mstart \u001b[38;5;28;01mif\u001b[39;00m s\u001b[38;5;241m.\u001b[39mstart \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;241m0\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m s \u001b[38;5;129;01min\u001b[39;00m ensure_tuple(slices)[\u001b[38;5;241m1\u001b[39m:]]\n\u001b[1;32m 438\u001b[0m mat \u001b[38;5;241m=\u001b[39m create_translate(spatial_rank, to_shift)\n", |
688 |
| - "\u001b[0;31mTypeError\u001b[0m: object of type 'NoneType' has no len()" |
| 676 | + "Input \u001b[0;32mIn [16]\u001b[0m, in \u001b[0;36m<cell line: 11>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m allow_missing_keys_mode(val_transforms):\n\u001b[1;32m 10\u001b[0m fwd_bck_batch_labels \u001b[38;5;241m=\u001b[39m batch_inverter(segs_dict)\n\u001b[0;32m---> 11\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mfwd_bck_batch_labels\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mlabel\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m)\n", |
| 677 | + "\u001b[0;31mTypeError\u001b[0m: list indices must be integers or slices, not str" |
689 | 678 | ]
|
690 | 679 | }
|
691 | 680 | ],
|
|
695 | 684 | "batch_val = first(val_loader)\n",
|
696 | 685 | "batch_infer = sliding_window_inference(\n",
|
697 | 686 | " batch_val[\"image\"].to(device), (96, 96), 4, model)\n",
|
698 |
| - "batch_infer = infer_seg(batch_val[\"image\"].to(device), model).detach().cpu()\n", |
699 | 687 | "batch_infer.applied_operations = batch_val[\"label\"].applied_operations\n",
|
700 | 688 | "segs_dict = {\"label\": batch_infer}\n",
|
701 |
| - "# batch_inverter = BatchInverseTransform(val_transforms, val_loader)\n", |
702 |
| - "# with allow_missing_keys_mode(val_transforms):\n", |
703 |
| - "# fwd_bck_batch_labels = batch_inverter(segs_dict)\n", |
704 |
| - "# print(fwd_bck_batch_labels['label'])" |
| 689 | + "batch_inverter = BatchInverseTransform(val_transforms, val_loader)\n", |
| 690 | + "with allow_missing_keys_mode(val_transforms):\n", |
| 691 | + " fwd_bck_batch_labels = batch_inverter(segs_dict)" |
705 | 692 | ]
|
706 | 693 | },
|
707 | 694 | {
|
|
754 | 741 | " val_transforms,\n",
|
755 | 742 | " batch_size=5,\n",
|
756 | 743 | " num_workers=0,\n",
|
757 |
| - " inferrer_fn=partial(infer_seg, model=model), # fn to infer segmentation\n", |
| 744 | + " inferrer_fn=model,\n", |
758 | 745 | " device=device\n",
|
759 | 746 | ")\n",
|
760 | 747 | "\n",
|
|
0 commit comments