-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
能否提供可检查点 #8
Comments
您好,您指的是存在性实验结果差距较大还是方向性实验结果差距较大,另外是每一个fold都距离论文中报告的平均结果都差距较大吗? |
都不对,不论是存在性还是方向性,另外每个fold的结果,取最好的值可以接近您的效果,但最差的值就是特别低,尤其第二个fold。可能是我的设备的问题?我的设备是24G显存的RTX5000,不知道是不是跟这个有关。但还是希望您能提供可检查点 |
我觉得应该是代码中的图部分CGEConv类内置了一些scatter等具有不确定性的函数导致的,这样即使在同设备同超参条件下两次的训练结果也会有差异,在不同设备上差异也会比较大;我对utils.py中的setup_seed()函数及model中CGEConv类进行修改之后,保证了在同超参条件下每次训练结果完全一致,EventStoryLine数据集的方向性实验总f1为46.35,和论文中的47.8差不多,差异这个应该是不同的硬件设备和配置了不同环境导致的,我是用了一块A100训练的和作者硬件不同,为了训练的确定性和匹配硬件cuda版本,我使用的torch版本为1.13.1+cu117。 |
作者您好,您代码中的CGE.py因为使用了torch_geometric,图的消息传递函数中有scatter等具有非确定性的函数,所以即使同超参情况下在相同硬件下,每次结果也会有差异,我对您代码中的model/CGE.py和utils.py进行了一些改动,这样每次训练的结果就完全一致了(只要硬件和环境一致),希望您能参考,另外为了保证训练的完全确定性,torch版本最好也在1.13及以上,否则torch.use_deterministic_algorithms可能会保错。
改动参考了以下的内容,如您方便可以邮件交流([email protected]): |
感谢您对iLIF论文代码部分训练的确定性修改方面做出的卓越贡献,后续实验验证后会更新在该代码中~ |
在没有改动您源码的情况下,完全按照论文的参数或者您官方提供的参数无法得到论文的效果,大概会差到4到5个点,多次调参也无法得到论文相差不多的效果。
The text was updated successfully, but these errors were encountered: