gorkemcanates / Dual-Cross-Attention

Official Pytorch implementation of Dual Cross-Attention for Medical Image Segmentation
MIT License
87 stars 10 forks source link

I train my own model and his on the GlaS dataset his validation results are always the same #18

Open LebronMX-A opened 3 days ago

LebronMX-A commented 3 days ago

I train my own model and his validation results are always the same on the GlaS dataset How can I solve this?

Training -- Epoch:3 --> {'loss': 0.419, 'iou': 0.4866, 'dicescore': 0.6504} Validation -- Epoch:3 --> {'loss': 0.4051, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:4 --> {'loss': 0.4098, 'iou': 0.4938, 'dicescore': 0.6577} Validation -- Epoch:4 --> {'loss': 0.3864, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:5 --> {'loss': 0.4106, 'iou': 0.4909, 'dicescore': 0.6551} Validation -- Epoch:5 --> {'loss': 0.3985, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:6 --> {'loss': 0.4036, 'iou': 0.4931, 'dicescore': 0.6572} Validation -- Epoch:6 --> {'loss': 0.3919, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:7 --> {'loss': 0.409, 'iou': 0.4884, 'dicescore': 0.6515} Validation -- Epoch:7 --> {'loss': 0.3833, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:8 --> {'loss': 0.4061, 'iou': 0.4903, 'dicescore': 0.6527} Validation -- Epoch:8 --> {'loss': 0.3797, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:9 --> {'loss': 0.4021, 'iou': 0.4931, 'dicescore': 0.6577} Validation -- Epoch:9 --> {'loss': 0.3827, 'iou': 0.5119, 'dicescore': 0.677}

Training -- Epoch:10 --> {'loss': 0.4043, 'iou': 0.4878, 'dicescore': 0.6537} Validation -- Epoch:10 --> {'loss': 0.3852, 'iou': 0.5119, 'dicescore': 0.677} TOTAL TRAINING TIME: 1.5459972164360807 minutes Data load completed.

Training -- Epoch:1 --> {'loss': 0.6002, 'iou': 0.2861, 'dicescore': 0.4434} Validation -- Epoch:1 --> {'loss': 0.6737, 'iou': 0.221, 'dicescore': 0.362} Best: 0.362 --> Last: 0

Training -- Epoch:2 --> {'loss': 0.5845, 'iou': 0.2835, 'dicescore': 0.4407} Validation -- Epoch:2 --> {'loss': 0.6691, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:3 --> {'loss': 0.5833, 'iou': 0.2838, 'dicescore': 0.4407} Validation -- Epoch:3 --> {'loss': 0.6574, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:4 --> {'loss': 0.5741, 'iou': 0.2811, 'dicescore': 0.4376} Validation -- Epoch:4 --> {'loss': 0.6476, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:5 --> {'loss': 0.571, 'iou': 0.2898, 'dicescore': 0.4479} Validation -- Epoch:5 --> {'loss': 0.636, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:6 --> {'loss': 0.5807, 'iou': 0.2829, 'dicescore': 0.4405} Validation -- Epoch:6 --> {'loss': 0.6321, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:7 --> {'loss': 0.5724, 'iou': 0.2882, 'dicescore': 0.4458} Validation -- Epoch:7 --> {'loss': 0.6303, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:8 --> {'loss': 0.5751, 'iou': 0.2876, 'dicescore': 0.4451} Validation -- Epoch:8 --> {'loss': 0.6303, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:9 --> {'loss': 0.5775, 'iou': 0.2838, 'dicescore': 0.4399} Validation -- Epoch:9 --> {'loss': 0.6366, 'iou': 0.221, 'dicescore': 0.362}

Training -- Epoch:10 --> {'loss': 0.5611, 'iou': 0.2919, 'dicescore': 0.4505} Validation -- Epoch:10 --> {'loss': 0.631, 'iou': 0.221, 'dicescore': 0.362} TOTAL TRAINING TIME: 0.48289415375329553 minutes Data load completed.

Training -- Epoch:1 --> {'loss': 0.8211, 'iou': 0.0947, 'dicescore': 0.1724} Validation -- Epoch:1 --> {'loss': 0.8242, 'iou': 0.0956, 'dicescore': 0.1742}

LebronMX-A commented 3 days ago

image And I don't even have the results.

gorkemcanates commented 3 hours ago

My friend, Your training loss is decreasing but validation loss is the same. You should check your custom model and your model-training hyperparameters.

LebronMX-A commented 3 hours ago

I thought about this, so I tried training other models to include Swinunet MedT UcTransUnet all had the same problem, do I need to make changes to the model if I want to use your training approach