yuxiangsun / RTFNet

RGB-Thermal Fusion Network for Semantic Segmentation of Urban Scenes
MIT License
166 stars 39 forks source link

loss一直震荡不下降 #15

Closed zhouweii234 closed 3 years ago

zhouweii234 commented 3 years ago

我运行了您的train.py,使用ResNet-152作为编码器,batch_size设置为2,其他参数均维持您代码中的原值,目前位置已经训练了88个epoch,但是loss一直在不停的震荡不下降,请问您知道怎么解决这个问题吗?

1 2
yuxiangsun commented 3 years ago

Tensorboard的smoothing factor设为0.999试一下

zhouweii234 commented 3 years ago

非常感谢您的建议,我将Tensorboard的smoothing factor设为0.999查看了之后发现,train的loss确实是在下降的,但是test的loss一直在震荡 1 2

testing_results_file.txt中的结果显示,mAcc和mIoU一直在10到20左右徘徊 testing_results_file.txt

这是我的参数设置,除了按照您的注释写的那样,把batch_size改为了2以外,基本维持您的原样,请问您知道怎么解决这个问题吗?

`############################################################################################# parser = argparse.ArgumentParser(description='Train with pytorch') ############################################################################################# parser.add_argument('--model_name', '-m', type=str, default='RTFNet')

batch_size: RTFNet-152: 2; RTFNet-101: 2; RTFNet-50: 3; RTFNet-34: 10; RTFNet-18: 15;

parser.add_argument('--batch_size', '-b', type=int, default=2)
parser.add_argument('--lr_start', '-ls', type=float, default=0.01) parser.add_argument('--gpu', '-g', type=int, default=0) ############################################################################################# parser.add_argument('--lr_decay', '-ld', type=float, default=0.95) parser.add_argument('--epoch_max', '-em', type=int, default=10000) # please stop training mannully
parser.add_argument('--epoch_from', '-ef', type=int, default=0) parser.add_argument('--num_workers', '-j', type=int, default=8)
parser.add_argument('--n_class', '-nc', type=int, default=9) parser.add_argument('--data_dir', '-dr', type=str, default='/root/projects/data/RTF/')
args = parser.parse_args() #############################################################################################`

yuxiangsun commented 3 years ago
  1. 这个不叫test loss,叫validation loss.
  2. 用鼠标双击plot试一下。
  3. RTFNet.py有没有对应修改?
zhouweii234 commented 3 years ago

您好,非常感谢您的指导。请问您说的RTFNet.py的对应修改是指的把其中的num_resnet_layers改成152吗?如果是的话,我的确修改了这一部分。 我检查RTFNet.py后发现,我将其中加载pytorch预训练模型的部分的参数pretrained由您写的True改成了False,我将这个参数改回来之后testing_results_file.txt中的结果有明显的提高,但在我训练了100多个epoch之后发现,mAcc和mIoU一直在20到40左右震荡,mAcc始终无法超过45,而mIoU始终无法超过40,请问您知道怎么解决这个问题吗? testing_results_file.txt