Traceback (most recent call last):
File "/home/pqdung/segmentation_3d.py", line 247, in <module>
outputs = model(inputs)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/monai/networks/nets/unet.py", line 189, in forward
x = self.model(x)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/container.py", line 119, in forward
input = module(input)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/monai/networks/layers/simplelayers.py", line 125, in forward
y = self.submodule(x)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/container.py", line 119, in forward
input = module(input)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/monai/networks/layers/simplelayers.py", line 125, in forward
y = self.submodule(x)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/container.py", line 119, in forward
input = module(input)
File "/home/pqdung/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/pqdung/.local/lib/python3.6/site-packages/monai/networks/layers/simplelayers.py", line 128, in forward
return torch.cat([x, y], dim=self.dim)
RuntimeError: Sizes of tensors must match except in dimension 4. Got 18 and 17 (The offending index is 0)
Process finished with exit code 1
# standard PyTorch program style: create UNet, DiceLoss and Adam optimizer
device = torch.device("cuda:0")
model = UNet(
dimensions=3,
in_channels=1,
out_channels=2,
channels=(16, 32, 64, 128, 256),
strides=(2, 2, 2, 2),
num_res_units=2,
norm=Norm.BATCH,
).to(device)
loss_function = DiceLoss(to_onehot_y=True, softmax=True)
optimizer = torch.optim.Adam(model.parameters(), 1e-4)
I try to train Monai with Unet (the architecture is the same as the tutorial at
https://github.com/Project-MONAI/tutorials/blob/master/3d_segmentation/spleen_segmentation_3d.ipynb
Please help me to fix this bug
The U-net architecture is defined as
I try to segment 1 class (tumor only)