ant-research / Pyraformer

Apache License 2.0
252 stars 38 forks source link

sequence和label之间的关系 #28

Open huozhilin opened 8 months ago

huozhilin commented 8 months ago

用flow数据做测试

sequence, label, v = map(lambda x: x.to(opt.device).squeeze(0), batch) 这里label是原来192+24 个数据中的最后24个*v sequence的shape是(24,192,5),但是这里面每行往后偏移的时候都会用到label里的值,这样不就是引入了未来值吗?

Zhazhan commented 8 months ago

这里训练和测试的都是单步预测任务,并非滚动预测后面24步。所以data_loader.py的line 542-548中,把对后面24步单步预测的过程给堆叠在了同一个batch内,并行地对后面24步做单步预测,并且保证了被预测的单步在输入数据中对应的值是-1. 不同batch之间没有信息交换,所以并没有引入未来值。你可能理解成了滚动预测后面24步。

huozhilin commented 8 months ago

这里训练和测试的都是单步预测任务,并非滚动预测后面24步。所以data_loader.py的line 542-548中,把对后面24步单步预测的过程给堆叠在了同一个batch内,并行地对后面24步做单步预测,并且保证了被预测的单步在输入数据中对应的值是-1. 不同batch之间没有信息交换,所以并没有引入未来值。你可能理解成了滚动预测后面24步。

ok,明白了,另外一个long_range_main.py是滚动预测后面的168步的对吗?

Zhazhan commented 8 months ago

这里训练和测试的都是单步预测任务,并非滚动预测后面24步。所以data_loader.py的line 542-548中,把对后面24步单步预测的过程给堆叠在了同一个batch内,并行地对后面24步做单步预测,并且保证了被预测的单步在输入数据中对应的值是-1. 不同batch之间没有信息交换,所以并没有引入未来值。你可能理解成了滚动预测后面24步。

ok,明白了,另外一个long_range_main.py是滚动预测后面的168步的对吗?

差不多是的,没有未来信息参与的情况下一次性预测未来的多步

huozhilin commented 8 months ago

这里训练和测试的都是单步预测任务,并非滚动预测后面24步。所以data_loader.py的line 542-548中,把对后面24步单步预测的过程给堆叠在了同一个batch内,并行地对后面24步做单步预测,并且保证了被预测的单步在输入数据中对应的值是-1. 不同batch之间没有信息交换,所以并没有引入未来值。你可能理解成了滚动预测后面24步。

ok,明白了,另外一个long_range_main.py是滚动预测后面的168步的对吗?

差不多是的,没有未来信息参与的情况下一次性预测未来的多步

ok,感谢!

huozhilin commented 8 months ago

这里训练和测试的都是单步预测任务,并非滚动预测后面24步。所以data_loader.py的line 542-548中,把对后面24步单步预测的过程给堆叠在了同一个batch内,并行地对后面24步做单步预测,并且保证了被预测的单步在输入数据中对应的值是-1. 不同batch之间没有信息交换,所以并没有引入未来值。你可能理解成了滚动预测后面24步。

ok,明白了,另外一个long_range_main.py是滚动预测后面的168步的对吗?

差不多是的,没有未来信息参与的情况下一次性预测未来的多步

long_range_main.py 这个不能用flow的数据训练吗?为啥我跑不通