tr_marwa:

i had normalize my inputs data at the beginning, and I didn’t normalize the groudtruth segmentation !!!


That should be correct, as the target mask should contain the class indices. Normalizing it might create floating point numbers, which would be wrong for a multi-class segmentation use case using e.g. nn.CrossEntropyLoss.
You could check the complete output tensor for the unique prediction labels via:
preds = outputs.argmax(1)
print(torch.unique(preds))

If this prints only a 0, then your model is only predicting the background and seems to be overfitting to this class.