SmallNana / STSGCN_Pytorch

73 stars 20 forks source link

Experiment results #1

Open kevin-xuan opened 3 years ago

kevin-xuan commented 3 years ago

作者,你好!我看了你在PEMS08数据集上的结果,与论文里的结果相比都还差点,请问这是pytorch和mxnet之间的区别嘛?还有,最后输出测试集的3个指标时,用的是平均值,这里我觉得应该是最后一个时间间隔的值吧?

SmallNana commented 3 years ago

你好,针对你的2个问题,我提出自己的看法。 1)这是否是pytorch与mxnet的区别我不太了解,因为我对mxnet不了解。这个pytorch实现是我在阅读了作者的mxnet源码之后,查阅资料,按照自己的理解和参照源码写出来的。可能与源码确实存在区别。如果你看了源码之后,看出我这里有什么问题,欢迎指正。 2)你可以看到在log文件中,最后输出测试集的3个指标,除了最后的平均测试结果外,还有对12个horizon 的单个预测结果。这个log文件最后的输出结果,并不是只有平均。作者的源码我记得并不是这样写的,但我是想把所有数据指标都预测出来。 3)最后,您说的指标应该是最后一个时间间隔的值(也就是第12个horizon的值)。这里我一开始也是这样理解的。但其实作者并没有明确在他的文章中指出用的是什么指标。这里可以参考 Bai L, Yao L, Li C, et al. Adaptive graph convolutional recurrent network for traffic forecasting[J]. arXiv preprint arXiv:2007.02842, 2020. 这篇文章用的数据集和指标是和STSGCN一样的,作者在论文中明确提到 “Table 1 presents the overall prediction performances, which are the averaged MAE, RMSE and MAPE over 12 prediction horizons, of our AGCRN and eight representative comparison methods.” 最后欢迎你继续提问

kevin-xuan commented 3 years ago

我觉得你这里写的有点问题,论文是要用前12个输入数据来预测后12个输入数据的值, 但是你这里写的是pred = scaler.inverse_transform(yhat[:, t, :]) real = realy[:, t, :], 而STSGCN和STFGNN里用的是y, x = test_y[:, : idx + 1, :], prediction[:, : idx + 1, :], 我认为最后MAE,MAPE和RMSE应该用完整的12个数据来预测,也就是y, x = test_y[:, : 12, :], prediction[:, : 12, :], 你觉得对不对呢?而不是只用第12个来预测

kevin-xuan commented 3 years ago

很抱歉,最后第(3)点没看到,这3个指标竟然是这样计算的吗?STSGCN的mxnet版本是计算前1个,前2个,...,前12个的值,最后输出的也是前12个的MAE,MAPE以及RMSE...,哪个版本是对的呢?

SmallNana commented 3 years ago

你好,很感谢你的再次提问 可能是我代码的备注写太少了,亦或是我理解错了你提问.我先阐述一下我的看法 首先,我确实是按照前12个输入数据来预测后12个数据的,
yhat = torch.cat(outputs, dim=0), 在这一步完了之后,我已经用测试集的12个输入数据预测完了后12个数据.

你所提到的 pred = scaler.inverse_transform(yhat[:, t, :]) real = realy[:, t, :]. 这一步是要计算MAE了, 那比如,如果我要计算 第t个horizon, 那我是不是应该拿yhat中 , 第t个数据来和 real中第t个数据来计算MAE 损失呢? 我认为这是有道理的,如果是我理解错了你提问的意思, 欢迎你继续提问

SmallNana commented 3 years ago

额,对于你的这个问题, 我的答案还是和我第一次回答中的,2)一致, (最后输出测试集的3个指标,除了最后的平均测试结果外,还有对12个horizon 的单个预测结果) , 也就说对于一个具体实验而言,我们会获取前12个horizon的MAE,以及最后的平均MAE 而要把哪些数据指标放在论文上,这要看作者 如果你所谓的是否正确,是指和他论文结果上的一致, 那我认为是最后取平均 谢谢

kevin-xuan commented 3 years ago

嗯嗯,首先,谢谢作者的耐心解答!我理解你的做法,是求每个horizon的MAE值,然后会有12个值,再求平均值作为论文的最终结果。而STSGCN里是先求前1个horizon的MAE,然后求前2个horizon的MAE,依次前3,...前12个horizon的MAE,用前12个horizon的MAE作为最后结果。我的疑问就在这里了,你的求均值操作和用前12个horizon(也就是把整个label和pred送到metric函数里)求出的MAE应该不是等价的吧?

kevin-xuan commented 3 years ago

我们假设整个labels的维度是(number_of_samples, 12, num_nodes),你每次计算label的一部分,比如label[:, t, :],这样算出来的12个值的均值,与STSGCN里用整个label算出来的值应该是不一样的吧?因为你实现的STSGCN的pytorch版本,计算指标这里应该要和STSGCN里的一致?

SmallNana commented 3 years ago
        test_loader.reset()
        prediction = mod.predict(test_loader)[1].asnumpy()
        tmp_info = []
        for idx in range(config['num_for_predict']):
            y, x = test_y[:, : idx + 1, :], prediction[:, : idx + 1, :]
            tmp_info.append((
                masked_mae_np(y, x, 0),
                masked_mape_np(y, x, 0),
                masked_mse_np(y, x, 0) ** 0.5
            ))
        mae, mape, rmse = tmp_info[-1]
        print('test: Epoch: {}, MAE: {:.2f}, MAPE: {:.2f}, RMSE: {:.2f}, '
              'time: {:.2f}s'.format(
                global_epoch, mae, mape, rmse, time.time() - t))

你好,很欢迎你的再次提问。你的疑问是否指的就是原作者的这段代码? 作者在 for idx in range(config['num_for_predict']):这个循环体中,确实是如你所说,是先求前1个horizon的MAE,然后求前2个horizon的MAE,依次前3,...前12个horizon的MAE, 但在最后保存数据的时候 mae, mape, rmse = tmp_info[-1],作者是只取了最后 前12个horizon的MAE

而我的做法是先算出12个均值,再取平均,我认为应该是和作者的意思是一致的。 如果你认为我的做法和理解有问题,欢迎再此提问

kevin-xuan commented 3 years ago

对对对,就是这部分代码。STSGCN作者是取前12个horizon的MAE作为最终结果,取前12个horizon也就是计算整个label和预测值pred的MAE。这个做法和你的做法是一致的嘛...我脑子一下子转不过来

SmallNana commented 3 years ago

正如你的假设,我们的结果是 (number_of_samples, 12, num_nodes),我先取1horizon的MAE均值,那就是对 (number_of_samples num_nodes) 个数字求均值 sum( number_of_samples num_nodes 个数字 ) / ( number_of_samples * num_nodes) = horizon1 最后对12个结果进行求均值 sum( horizon1 + horizon2 + horizon3+ ... + horizon12) / 12 = 结果

作者是对(number_of_samples 12 num_nodes)个数字求均值 sum( number_of_samples 12 num_nodes 个数字) / ( number_of_samples num_nodes 12) = 结果 我想应该是一致的

x1 = a + b + c x2 = d + e + f x3 = g + h + i (x1 / 3 + x2 / 3 + x3 / 3 ) / 3 = (a + b + c + d + f + g + h + i ) / 9

如果你认为我的做法和理解有问题,欢迎再此提问

kevin-xuan commented 3 years ago

嗯嗯,非常感谢作者的解答!

shouyuehuipinga commented 3 years ago

可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来

SmallNana commented 3 years ago

可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来

你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问

shouyuehuipinga commented 3 years ago

目前具体您看我说的对不对,配置好环境以后,在生成文件的程序里面,把还有文件目录的两行代码8改成4,然后直接运行train,再运行test,之后如何其他的一些评价指标在哪里看?预测数据在哪里?如何进行新的预测,这每一个文件可不可以仔细说明一下

---Original--- From: @.> Date: Tue, Aug 31, 2021 15:06 PM To: @.>; Cc: @.**@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1)

可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来

你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

SmallNana commented 3 years ago

目前具体您看我说的对不对,配置好环境以后,在生成文件的程序里面,把还有文件目录的两行代码8改成4,然后直接运行train,再运行test,之后如何其他的一些评价指标在哪里看?预测数据在哪里?如何进行新的预测,这每一个文件可不可以仔细说明一下 ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:06 PM To: @.>; Cc: @.**@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来 你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

你好,针对你的问题,我给出如下建议 1)在你配置完环境+生成完数据后,直接进行运行train文件,按照我给的命令即可,或者你有需要可以更改参数(具体参数要在PEMSD4.conf 和 PEMSD8.conf中修改 ,这里注意,如果你训练PEMS08数据集,你需要把train文件中的DATASET 修改一下) 2)当你成功执行train文件后,你应该会在终端中看见训练情况,包括训练损失等指标。同时,这些数据会被保存在data文件夹中,如果你没有修改PEMSD4.conf 或 PEMSD8.conf,那么你的运行数据会被保存在/data/log_PEMSD4 或者 /data/log_PEMSD8 中。具体情况,你可以看我上传的/data/log_PEMSD4 和 /data/log_PEMSD8 文件,里面记录的是我的训练情况 3)当你完成train训练后,你会在garage文件夹中得到你训练完的模型(当然我也把我训练好的模型上传了,你可以测试一下),这里要注意的是,如果你只想看模型最终的预测指标,你其实无需运行test文件,因为当你执行完train文件后,得到的log日志里,在最后会记录最终的效果(具体可以参考我上传的两个log文件)。如果你想看预测数据,你需要运行test文件(这里注意,如果你测试PEMS08数据集,你需要把test文件中的DATASET 修改一下),不出意外你会在data数据集中获得一个log_test文件(如果你没修改conf文件的话),在主目录获得一个wave.csv,这个csv表格中会存预测数据 具体的更多细节,需要你看看我的代码了:-D,如果你还有什么问题,欢迎再次提问

shouyuehuipinga commented 3 years ago

请问一下,在不进行train的情况下,如何直接利用你的训练结果运行test

---Original--- From: @.> Date: Tue, Aug 31, 2021 15:42 PM To: @.>; Cc: @.**@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1)

目前具体您看我说的对不对,配置好环境以后,在生成文件的程序里面,把还有文件目录的两行代码8改成4,然后直接运行train,再运行test,之后如何其他的一些评价指标在哪里看?预测数据在哪里?如何进行新的预测,这每一个文件可不可以仔细说明一下 … ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:06 PM To: @.>; Cc: @.@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来 你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

你好,针对你的问题,我给出如下建议 1)在你配置完环境+生成完数据后,直接进行运行train文件,按照我给的命令即可,或者你有需要可以更改参数(具体参数要在PEMSD4.conf 和 PEMSD8.conf中修改 ,这里注意,如果你训练PEMS08数据集,你需要把train文件中的DATASET 修改一下) 2)当你成功执行train文件后,你应该会在终端中看见训练情况,包括训练损失等指标。同时,这些数据会被保存在data文件夹中,如果你没有PEMSD4.conf 或 PEMSD8.conf,那么你的运行数据会被保存在/data/log_PEMSD4 或者 /data/log_PEMSD8 中。具体情况,你可以看我上传的/data/log_PEMSD4 和 /data/log_PEMSD8 文件,里面记录的是我的训练情况 3)当你完成train训练后,你会在garage文件夹中得到你训练完的模型(当然我也把我训练好的模型上传了,你可以测试一下),这里要注意的是,如果你只想看模型最终的预测指标,你其实无需运行test文件,因为当你执行完train文件后,得到的log日志里,在最后会记录最终的效果(具体可以参考我上传的两个log文件)。如果你想看预测数据,你需要运行test文件(这里注意,如果你测试PEMS08数据集,你需要把test文件中的DATASET 修改一下),不出意外你会在data数据集中获得一个log_test文件(如果你没修改conf文件的话),在主目录获得一个wave.csv,这个csv表格中会存预测数据 具体的更多细节,需要你看看我的代码了:-D,如果你还有什么问题,欢迎再次提问

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

SmallNana commented 3 years ago

请问一下,在不进行train的情况下,如何直接利用你的训练结果运行test ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:42 PM To: @.>; Cc: @.**@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 目前具体您看我说的对不对,配置好环境以后,在生成文件的程序里面,把还有文件目录的两行代码8改成4,然后直接运行train,再运行test,之后如何其他的一些评价指标在哪里看?预测数据在哪里?如何进行新的预测,这每一个文件可不可以仔细说明一下 … ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:06 PM To: @.>; Cc: @.@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来 你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. 你好,针对你的问题,我给出如下建议 1)在你配置完环境+生成完数据后,直接进行运行train文件,按照我给的命令即可,或者你有需要可以更改参数(具体参数要在PEMSD4.conf 和 PEMSD8.conf中修改 ,这里注意,如果你训练PEMS08数据集,你需要把train文件中的DATASET 修改一下) 2)当你成功执行train文件后,你应该会在终端中看见训练情况,包括训练损失等指标。同时,这些数据会被保存在data文件夹中,如果你没有PEMSD4.conf 或 PEMSD8.conf,那么你的运行数据会被保存在/data/log_PEMSD4 或者 /data/log_PEMSD8 中。具体情况,你可以看我上传的/data/log_PEMSD4 和 /data/log_PEMSD8 文件,里面记录的是我的训练情况 3)当你完成train训练后,你会在garage文件夹中得到你训练完的模型(当然我也把我训练好的模型上传了,你可以测试一下),这里要注意的是,如果你只想看模型最终的预测指标,你其实无需运行test文件,因为当你执行完train文件后,得到的log日志里,在最后会记录最终的效果(具体可以参考我上传的两个log文件)。如果你想看预测数据,你需要运行test文件(这里注意,如果你测试PEMS08数据集,你需要把test文件中的DATASET 修改一下),不出意外你会在data数据集中获得一个log_test文件(如果你没修改conf文件的话),在主目录获得一个wave.csv,这个csv表格中会存预测数据 具体的更多细节,需要你看看我的代码了:-D,如果你还有什么问题,欢迎再次提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

你好,配置完环境+生成完数据后,执行我给的test命令即可

shouyuehuipinga commented 3 years ago

CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 2.08 GiB already allocated; 535.53 MiB free; 2.30 GiB reserved in total by PyTorch)如上问题,在代码中改修改什么

---Original--- From: @.> Date: Wed, Sep 1, 2021 09:04 AM To: @.>; Cc: @.**@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1)

请问一下,在不进行train的情况下,如何直接利用你的训练结果运行test … ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:42 PM To: @.>; Cc: @.@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 目前具体您看我说的对不对,配置好环境以后,在生成文件的程序里面,把还有文件目录的两行代码8改成4,然后直接运行train,再运行test,之后如何其他的一些评价指标在哪里看?预测数据在哪里?如何进行新的预测,这每一个文件可不可以仔细说明一下 … ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:06 PM To: @.>; Cc: @.@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来 你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. 你好,针对你的问题,我给出如下建议 1)在你配置完环境+生成完数据后,直接进行运行train文件,按照我给的命令即可,或者你有需要可以更改参数(具体参数要在PEMSD4.conf 和 PEMSD8.conf中修改 ,这里注意,如果你训练PEMS08数据集,你需要把train文件中的DATASET 修改一下) 2)当你成功执行train文件后,你应该会在终端中看见训练情况,包括训练损失等指标。同时,这些数据会被保存在data文件夹中,如果你没有PEMSD4.conf 或 PEMSD8.conf,那么你的运行数据会被保存在/data/log_PEMSD4 或者 /data/log_PEMSD8 中。具体情况,你可以看我上传的/data/log_PEMSD4 和 /data/log_PEMSD8 文件,里面记录的是我的训练情况 3)当你完成train训练后,你会在garage文件夹中得到你训练完的模型(当然我也把我训练好的模型上传了,你可以测试一下),这里要注意的是,如果你只想看模型最终的预测指标,你其实无需运行test文件,因为当你执行完train文件后,得到的log日志里,在最后会记录最终的效果(具体可以参考我上传的两个log文件)。如果你想看预测数据,你需要运行test文件(这里注意,如果你测试PEMS08数据集,你需要把test文件中的DATASET 修改一下),不出意外你会在data数据集中获得一个log_test文件(如果你没修改conf文件的话),在主目录获得一个wave.csv,这个csv表格中会存预测数据 具体的更多细节,需要你看看我的代码了:-D,如果你还有什么问题,欢迎再次提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

你好,配置完环境+生成完数据后,执行我给的test命令即可

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

SmallNana commented 3 years ago

CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 2.08 GiB already allocated; 535.53 MiB free; 2.30 GiB reserved in total by PyTorch)如上问题,在代码中改修改什么 ---Original--- From: @.> Date: Wed, Sep 1, 2021 09:04 AM To: @.>; Cc: @.**@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 请问一下,在不进行train的情况下,如何直接利用你的训练结果运行test … ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:42 PM To: @.>; Cc: @.@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 目前具体您看我说的对不对,配置好环境以后,在生成文件的程序里面,把还有文件目录的两行代码8改成4,然后直接运行train,再运行test,之后如何其他的一些评价指标在哪里看?预测数据在哪里?如何进行新的预测,这每一个文件可不可以仔细说明一下 … ---Original--- From: @.> Date: Tue, Aug 31, 2021 15:06 PM To: @.>; Cc: @.@.>; Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1) 可否出一个小白运行指南,从下载压缩包后如何运行,跑不起来 你好,正常来讲,你下载完压缩包并解压后,用pycharm(或其他IDE)打开文件夹,配置完环境后,按照步骤在终端输入命令就好了,即先生成数据文件,再进行train或者test操作,命令行在readme文件中有。你说无法运行是否是因为环境配置问题,这可能是我的疏忽,没具体写明pytorch的版本,我会更新一下。 至于小白运行指南,我很抱歉,我不是很会写:-D, 如果你有什么问题可以继续提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. 你好,针对你的问题,我给出如下建议 1)在你配置完环境+生成完数据后,直接进行运行train文件,按照我给的命令即可,或者你有需要可以更改参数(具体参数要在PEMSD4.conf 和 PEMSD8.conf中修改 ,这里注意,如果你训练PEMS08数据集,你需要把train文件中的DATASET 修改一下) 2)当你成功执行train文件后,你应该会在终端中看见训练情况,包括训练损失等指标。同时,这些数据会被保存在data文件夹中,如果你没有PEMSD4.conf 或 PEMSD8.conf,那么你的运行数据会被保存在/data/log_PEMSD4 或者 /data/log_PEMSD8 中。具体情况,你可以看我上传的/data/log_PEMSD4 和 /data/log_PEMSD8 文件,里面记录的是我的训练情况 3)当你完成train训练后,你会在garage文件夹中得到你训练完的模型(当然我也把我训练好的模型上传了,你可以测试一下),这里要注意的是,如果你只想看模型最终的预测指标,你其实无需运行test文件,因为当你执行完train文件后,得到的log日志里,在最后会记录最终的效果(具体可以参考我上传的两个log文件)。如果你想看预测数据,你需要运行test文件(这里注意,如果你测试PEMS08数据集,你需要把test文件中的DATASET 修改一下),不出意外你会在data数据集中获得一个log_test文件(如果你没修改conf文件的话),在主目录获得一个wave.csv,这个csv表格中会存预测数据 具体的更多细节,需要你看看我的代码了:-D,如果你还有什么问题,欢迎再次提问 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. 你好,配置完环境+生成完数据后,执行我给的test命令即可 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

在.conf文件中尝试减小batch_size,或者一些参数大小

shouyuehuipinga commented 3 years ago

在您的代码基础上,通过扩宽输出层窗口的方法,引入时空数据的条件,将卷积后的时空数据与条件拼接后该怎么放入网络,由于预测的时间步不同,每次拼接后张量不同,会导致无法损失反向传播,您有没有什么高招

zza234s commented 2 years ago

在github上您是我第一个见到的如此耐心回答他人问题的作者,感恩!

feifeifeifeiteng commented 2 years ago

您好,看了您的代码真的受益良多,小菜鸡,想问您一下最后test输出的图,是什么图呀,代表什么物理意义,论文里没放

feifeifeifeiteng commented 2 years ago

QQ图片20220507085706

SmallNana commented 2 years ago

QQ图片20220507085706

你好,这是原作者论文中的mask图

feifeifeifeiteng commented 2 years ago

,非常感谢您的耐心回答,是这个mask矩阵嘛? image

SmallNana commented 2 years ago

,非常感谢您的耐心回答,是这个mask矩阵嘛? image

是的

feifeifeifeiteng commented 2 years ago

,非常感谢您的耐心回答,是这个mask矩阵嘛? image

是的

肥肠感谢!

Zhang-aijw817 commented 2 years ago

作者您好,想请教一下您,在generate_dataset.py中,seq_length_x和seq_length_y的设置是遵循什么原则呢?是否要与horizon和history对应一致呢?刚进入该领域,不是太明白其中的含义,希望能得到您的解答~

SmallNana commented 2 years ago

作者您好,想请教一下您,在generate_dataset.py中,seq_length_x和seq_length_y的设置是遵循什么原则呢?是否要与horizon和history对应一致呢?刚进入该领域,不是太明白其中的含义,希望能得到您的解答~

你好,seq_length_x对应history,seq_length_y对应horizon。history代表你输入的时间序列步数,horizon代表你输出的时间序列步数。例如你用60分钟的数据,去预测后60分钟的数据,我们取5分钟作为一个时间步,那么就有 seq_length_x = history = 12,seq_length_y = horizon = 12

GF1314 commented 6 months ago

作者,你好!我看了你在PEMS08数据集上的结果,与论文里的结果相比都还差点,请问这是pytorch和mxnet之间的区别嘛?还有,最后输出测试集的3个指标时,用的是平均值,这里我觉得应该是最后一个时间间隔的值吧?

你好 请问你用03数据集了嘛 可以交流请教一下嘛

kevin-xuan commented 6 months ago

@GF1314, 我参考这份代码写了STFGNN,除了graph多了个DTW生成的相似图之外,模型跟STSGCN基本一致。 这份代码里里用了PEMS03数据集,可以参考一下。

GF1314 commented 6 months ago

我看了这个代码,发现只有数据集的配置好像,我想表达的是,03和04数据集属性貌似不太一样,03是distance 04是cost,此外,03的from和to貌似不是传感器编号,请问怎么处理的呢,我用pytorch 版本代码无法运行03数据集,提示会越界,请问方便加个微信请教一下吗 15623962898

发自我的iPhone

------------------ Original ------------------ From: Rao Xuan @.> Date: Sat,May 11,2024 3:31 PM To: SmallNana/STSGCN_Pytorch @.> Cc: GF1314 @.>, Mention @.> Subject: Re: [SmallNana/STSGCN_Pytorch] Experiment results (#1)

@GF1314, 我参考这份代码写了STFGNN,除了graph多了个DTW生成的相似图之外,模型跟STSGCN基本一致。 这份代码里里用了PEMS03数据集,可以参考一下。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

kevin-xuan commented 6 months ago

03数据集的sensor_id和其他3个数据集不一致,传感器编号需要重新映射。构造的图可以是计算distance或者0/1矩阵,这两种矩阵都有用过。我在这份代码里没有跑过03数据集,但FOGS能正常运行,就说明这份代码应该也能行,出现越界问题可能是超参数设置出现了问题,比如传感器数目,建议你好好对比检查一下。微信就不方便加了,可以在github讨论。