hello again,
my validation accuracy, iu score and dice score is very less compared to my training accuracy. Why is this? I even tried shuffling the data.
My results:
training loss: 0.11447336673736572, iou score: 0.7451344195415179, dice score: 0.8161399212012007
validation loss: 3.3190221786499023, iou score: 0.09056307559778348, dice score: 0.11742234666033746

edit: my code is:
for batch_idx, (data, labels) in enumerate(train_loader):
   labels = torch.argmax(labels, dim=1)# torch.Size([32, 256, 256]) 32 batch size
   # i convert 32x32x256x256 (32 class one hot) to 32x256x256 single class (since pytorch cross entropy loss does auto encoding)
   data = data.to(device=device)
   labels = labels.to(device=device)
   #forward
   predictions = model(data) #prediction is 32x32x256x256(32 batch and 32 classes)
   loss = loss_fn(predictions, labels)

no need to use softmax before applying cross entropy loss? Please see if my training is correct.
thank you