The output shape won’t work for a binary classification using F.cross_entropy and you should get an error, if label_batch contains zeros and ones (for both classes).
nn.CrossEntropyLoss expects an output in the shape [batch_size, nb_classes=2, depth, height, width] in your use case, and a target in the shape [batch_size, depth, height, width] containing values in the range [0, 1].
Also, based on your given shape, outputs_soft[:,1,:,:,:] should give you an IndexError.
Could you double check the shapes, please?