Open DaDongjie opened 4 months ago
模型的训练过程受多种因素影响,结果不一致是正常的。为了观察测试曲线,我们给出了每个epoch的测试分数,因此不需要加载结果最好的epoch的模型参数。The training process of the model is influenced by many factors, and it is normal that the results are inconsistent. To observe the test curve, we have shown the test score in each epoch. So it is unnecessary to load the model parameters of the best epoch.
你说的我能理解,
在GNN和预训练的辅助GNN都是eval模式下,(model.eval()),为什么模型连续两次评估验证数据,其结果会不一致呢? 我认为应该是一致的,我尝试了修改 却没有成功,所以向你请教 是我理解的哪里不对吗
可能是data_loader中的“shuffle=True”,你可以尝试一下
作者你好,main.py模块中,第137行代码val_score = eval_epoch(val_loader, args['pretrain'], model_list, args),重复测试val_score_again = eval_epoch(val_loader, args['pretrain'], model_list, args),两次验证结果的测试val_score 和val_score_again不一致;类似的在测试数据上重复两次测试,测试结果也不一致;
此外,在早停后,应该加载验证结果最好的epoch模型测试性能;然而,代码中的test_score并不是这样的