Yes silly from me.
print(predicted_model)

showed that is just a 1-item list of tensor, so [0] is needed.
However, if i understand you right, all i need too do is add a dimension too my guessed output from my network? Since it is only sample too train with, it can be simply 1 ? But what, when i really want too train?
However i changed it too
    predicted_model[0].expand(1,1,384,384,384)
    loss = lossfct(predicted_model[0], voxel_array)

too add 1 dimension too my predicted modell.
Now i should have the shape of
input = [1,1,384,384,384]
and
output = [1,384,384,384]
However, i still get a error which is:
RuntimeError: only batches of spatial targets supported (3D tensors) but got targets of dimension: 4

and i thought i could solve this by edditing the target array the same way as the input.
With
voxel_array = torch.zeros((384, 384, 384), dtype=float)
voxel_array.expand(1,384,384,384)
predicted_model[0].expand(1,1,384,384,384)

i encounter another error:
RuntimeError: only batches of spatial targets supported (3D tensors) but got targets of dimension: 4

i feel like that the first approach is the right one but i dont know.