Train loss fluctuate regularly and doesn't descend

Hi, I am new in Pytorch and using DL in image segmentation. However, the train_loss does not descend apparently and always fluctuate regularly and the test dice coefficient does not ascend apparently.
I wonder the problem is on the programming itself or the network structure or the data set or the hyper parameters. Could anyone give some advise and experiences ?

Have you solved your problem ?