Closed XDZhelheim closed 1 year ago
这个 step 3 的意思,不会是指前3个step的平均吧?
对。所以直接看第12行的结果就行,log有一句话,average mode。
---原始邮件--- 发件人: "Zheng @.> 发送时间: 2023年5月19日(周五) 上午10:48 收件人: @.>; 抄送: @.***>; 主题: Re: [BUAABIGSCity/PDFormer] 无法复现论文结果 (Issue #7)
这个 step 3 的意思,不会是指前3个step的平均吧?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>
我去,这log也太反直觉了,一般都是第3第6第12步。个人建议最好在readme里说明一下。
因为其实采用的Libcity的结构,支持2类评估,也就是single和average。如果需要换成single就替换一下就行。
我一会在readme里边说明一下
设置 "mode": "average" "mode": "single"
好的,感谢
好的,感谢
你好,请问我在自己的电脑上按作者的默认设置运行了两次模型,结果完全一致,小数点后面几位都是一致的。但是我自己写的模型每次运行结果都有偏差,请问您知道这是什么原因吗?
好的,感谢
你好,请问我在自己的电脑上按作者的默认设置运行了两次模型,结果完全一致,小数点后面几位都是一致的。但是我自己写的模型每次运行结果都有偏差,请问您知道这是什么原因吗?
你好,如果需要稳定的可重复性,建议在自己的代码中设定 random seed.
参考: https://www.kaggle.com/code/rhythmcam/random-seed-everything https://gist.github.com/ihoromi4/b681a9088f348942b01711f251e5f964
好的,感谢
你好,请问我在自己的电脑上按作者的默认设置运行了两次模型,结果完全一致,小数点后面几位都是一致的。但是我自己写的模型每次运行结果都有偏差,请问您知道这是什么原因吗?
你好,如果需要稳定的可重复性,建议在自己的代码中设定 random seed.
参考: https://www.kaggle.com/code/rhythmcam/random-seed-everything https://gist.github.com/ihoromi4/b681a9088f348942b01711f251e5f964
原来是这样,感谢指导!!
请问论文里面的结果都是用的MASK的吗
问题描述
按照 README 中的教程下载数据集,未改动任何超参,同样使用教程中给出的命令运行模型,得到的结果与论文不一致。不是变差,而是比论文要好不少。
数据集:PEMS08,PEMS04
PEMS08
我在不同的两台服务器上运行,得到了基本一致的结果。
服务器1结果:
MAE MAPE RMSE masked_MAE masked_MAPE masked_RMSE 1 11.744327 inf 19.637644 11.760401 0.077948 19.529140 2 11.975752 inf 20.247381 11.992254 0.079423 20.141357 3 12.196908 inf 20.769762 12.214051 0.080845 20.666855 4 12.393086 inf 21.220171 12.410814 0.082166 21.121649 5 12.565434 inf 21.609114 12.583639 0.083352 21.512920 6 12.720485 inf 21.951965 12.739080 0.084445 21.857193 7 12.865274 inf 22.262390 12.884212 0.085499 22.168737 8 13.001018 inf 22.545931 13.020285 0.086475 22.453295 9 13.128123 inf 22.803295 13.147656 0.087415 22.711014 10 13.249768 inf 23.042545 13.269598 0.088333 22.951004 11 13.386254 inf 23.260063 13.406418 0.089319 23.169426 12 13.558510 inf 23.498171 13.579021 0.090486 23.408354
手动计算第一列的 非mask的mae 的均值,可以等效得到12步的总体mae。
计算结果为 12.75,比论文中标注的 13.583 要好上不少。其实只看step 12也能发现,最后一步的mae已经小于13.58了,整体算下来肯定是要小很多的。
服务器2结果:
MAE MAPE RMSE masked_MAE masked_MAPE masked_RMSE 1 11.807277 inf 19.672308 11.823156 0.078038 19.558163 2 12.032962 inf 20.286419 12.049309 0.079441 20.176619 3 12.252482 inf 20.817410 12.269487 0.080858 20.713125 4 12.448793 inf 21.282396 12.466464 0.082153 21.183153 5 12.624876 inf 21.685398 12.643200 0.083311 21.590067 6 12.784041 inf 22.039949 12.802795 0.084481 21.947374 7 12.932391 inf 22.358686 12.951554 0.085542 22.268145 8 13.071898 inf 22.650635 13.091407 0.086552 22.561703 9 13.202084 inf 22.917021 13.221920 0.087506 22.829172 10 13.329255 inf 23.166691 13.349422 0.088458 23.079922 11 13.472559 inf 23.394999 13.493119 0.089432 23.309145 12 13.643632 inf 23.640915 13.664682 0.090525 23.555864
同样计算得到总体mae为12.80,和服务器1基本一致。
PEMS04
只测了一次。
服务器1结果:
MAE MAPE RMSE masked_MAE masked_MAPE masked_RMSE 1 16.488237 inf 27.033958 16.616440 0.109217 26.958183 2 16.749134 inf 27.546349 16.873692 0.110845 27.452517 3 16.980698 inf 27.983900 17.102612 0.112179 27.875938 4 17.177589 inf 28.347172 17.297112 0.113359 28.227507 5 17.348188 inf 28.657040 17.466003 0.114348 28.527237 6 17.499729 inf 28.929235 17.615850 0.115272 28.789883 7 17.641754 inf 29.181208 17.756535 0.116133 29.032999 8 17.773027 inf 29.412554 17.886360 0.116933 29.255606 9 17.896318 inf 29.628168 18.008062 0.117671 29.462416 10 18.012926 inf 29.829189 18.122938 0.118415 29.654417 11 18.128349 inf 30.023409 18.236618 0.119193 29.839643 12 18.251507 inf 30.222811 18.357948 0.120025 30.030327
总体mae:17.50,同样比论文中给出的18.321好不少。
额外测试:PEMSBAY
我在libcity官方处下载了PEMSBAY的原子文件,放在PDFormer里也是兼容的,可以直接运行。
服务器1结果:
MAE MAPE RMSE masked_MAE masked_MAPE masked_RMSE 1 0.873613 inf 1.658810 0.869416 0.016877 1.571239 2 1.013528 inf 2.034907 1.009336 0.020192 1.964113 3 1.124029 inf 2.354755 1.119844 0.022965 2.293847 4 1.214753 inf 2.623137 1.210573 0.025361 2.568609 5 1.290269 inf 2.846914 1.286094 0.027425 2.796754 6 1.354344 inf 3.034048 1.350173 0.029210 2.987044 7 1.409635 inf 3.192185 1.405468 0.030763 3.147555 8 1.457894 inf 3.326295 1.453729 0.032124 3.283493 9 1.500738 inf 3.441869 1.496577 0.033332 3.400532 10 1.539042 inf 3.541891 1.534883 0.034409 3.501742 11 1.573877 inf 3.630036 1.569720 0.035390 3.590883 12 1.606230 inf 3.710091 1.602076 0.036290 3.671806
可以看到3 step mae=1.12,6 step mae=1.35,12 step mae=1.60。这个结果已经远超现在的SOTA了。
使用的超参(仿照其他数据集写的,没有刻意调):
PEMSBAY.json { "dataset_class": "PDFormerDataset", "input_window": 12, "output_window": 12, "train_rate": 0.7, "eval_rate": 0.1, "batch_size": 16, "add_time_in_day": true, "add_day_in_week": true, "step_size": 2500, "max_epoch": 200, "bidir": true, "far_mask_delta": 7, "geo_num_heads": 4, "sem_num_heads": 2, "t_num_heads": 2, "cluster_method": "kshape", "cand_key_days": 21, "seed": 1, "type_ln": "pre", "set_loss": "huber", "huber_delta": 2, "mode": "average" }
我复现的结果也和你差不多,为什么会比论文中的效果要好呢
这个 step 3 的意思,不会是指前3个step的平均吧? 对。所以直接看第12行的结果就行,log有一句话,average mode。
作者这不已经回复了,默认是算前x步的平均,所以应该看12行的结果,前11行都是废的。想看单步结果把average改成single。
设置 "mode": "average" "mode": "single"
问题描述
按照 README 中的教程下载数据集,未改动任何超参,同样使用教程中给出的命令运行模型,得到的结果与论文不一致。不是变差,而是比论文要好不少。
数据集:PEMS08,PEMS04
PEMS08
我在不同的两台服务器上运行,得到了基本一致的结果。
服务器1结果:
手动计算第一列的 非mask的mae 的均值,可以等效得到12步的总体mae。
计算结果为 12.75,比论文中标注的 13.583 要好上不少。其实只看step 12也能发现,最后一步的mae已经小于13.58了,整体算下来肯定是要小很多的。
服务器2结果:
同样计算得到总体mae为12.80,和服务器1基本一致。
PEMS04
只测了一次。
服务器1结果:
总体mae:17.50,同样比论文中给出的18.321好不少。
额外测试:PEMSBAY
我在libcity官方处下载了PEMSBAY的原子文件,放在PDFormer里也是兼容的,可以直接运行。
服务器1结果:
可以看到3 step mae=1.12,6 step mae=1.35,12 step mae=1.60。这个结果已经远超现在的SOTA了。
使用的超参(仿照其他数据集写的,没有刻意调):