You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
def __getitem__(self, index: int) -> tuple:
"""Get a sample.
Args:
index (int): the iteration index (not the self.index)
Returns:
tuple: (future_data, history_data), where the shape of each is L x N x C.
"""
idx = list(self.index[index])
history_data = self.data[idx[0]:idx[1]] # 12
future_data = self.data[idx[1]:idx[2]] # 12
if idx[1] - self.seq_len < 0:
long_history_data = self.mask
else:
long_history_data = self.data[idx[1] - self.seq_len:idx[1]] # 11
return future_data, history_data, long_history_data
您的工作非常有趣,实验分析也非常完善,我对于部分细节存在一定的疑惑:
推理时,STD-MAE 模型需要将 long-range input 分别通过 T/S Encoder 去生成对应的表示,我阅读了您 https://github.com/Jimmy-7664/STD-MAE/blob/main/stdmae/stdmae_data/forecasting_dataset.py 这部分的代码,其中:
给出了
long_history_data
的计算方式,这里的seq_len
有什么约束吗?比如需要和 pre-train 时保持一致或者应该要大于推理阶段原始序列的长度 T ?以及在idx[1] - self.seq_len < 0
的分支中,long_history_data
被设为self.mask
,但是这个变量初始化为torch.zeros
,是指在数据片段不够长时不使用 pre-train 的模型?此外,您对比的其他模型应该不能直接处理long_history_data
的数据,可以认为在性能测试的实验中 STD-MAE 使用了更多的输入数据吗?The text was updated successfully, but these errors were encountered: