-
Notifications
You must be signed in to change notification settings - Fork 92
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
一些问题和优化建议 #139
Comments
非常感谢您的建议,这对我们帮助很大! |
"tensorboard中增加一些指标",您指的是什么呢,可否给出一些具体的需求? |
比如模型的计算图,框架图,权重,偏差随时间变化的直方图。 |
个人觉得basicts论文中对ETT系列数据集的标准化处理有一点问题,因为ETT数据集的各列数据不像PEMS数据集是同一单位,导致各列的值差异有时候差异较大,采用各个通道标准化可能比整体标准化更合适,若需要在计算指标时反归一化,可参考优化建议第一条 |
好的,感谢您的建议。我正在开发新版的BasicTS,基本已经完成,会在未来几天内发布。 |
作者您好,BasicTS能支持自动调参不? |
您好,下一版本没有囊括自动调参功能,我对自动调参这块不是很熟悉,从我自己的经验来看这几个数据集似乎对超参数没那么敏感? |
请问一下,运行train找不到FileNotFoundError: [Errno 2] No such file or directory: 'datasets/ETTh1/scaler_in_96_out_336_rescale_True.pkl',修改哪个文件夹 |
修改了baselines里面对应的模型数据集好了 |
您好,在目前的版本下,您还需要手动生成不同输入输出长度的数据集。您可以通过下面的指令生成: python scripts/data_preparation/${DATASET_NAME}/generate_training_data.py --history_seq_len ${INPUT_LEN} --future_seq_len ${OUTPUT_LEN} 例如: python scripts/data_preparation/ETTh1/generate_training_data.py --history_seq_len 96 --future_seq_len 336 马上会更新一个版本,可以在训练的时候即时指定,敬请期待~ |
伟大,无需多言! |
作者您好,下个版本是否有支持单变量预测的接口? |
您所说的单变量指的是什么?是指只有一条时间序列的数据集吗? |
不好意思,好像只需要重新定义runner即可。单变量预测指的是带OT变量的数据集,例如ETT |
作者您好,我想请教一下BasicTS论文中长时序预测结果的历史长度和预测长度,我看代码里给的不同模型的历史长度似乎存在不一样,预测长度应该都是336,所以我想确定一下 |
是的,事实上不同的论文对于历史长度的规定是不一样的,而不同方法的最优历史长度也不一样。 |
I noticed that easytorch is no longer maintained. Are you considering switching the backend in the new version? |
Currently, EasyTorch is still able to meet the needs of BasicTS, so there won't be any changes in the short term. However, in the longer term, I hope that the backend of BasicTS will no longer need to rely on other packages, although this will be time-consuming. Do you have any other needs that the current EasyTorch backend cannot satisfy?" |
大家好,BasicTS代码已更新,欢迎大家查看并使用! Hello, everyone! The BasicTS code has been updated. Feel free to check it out and use it! |
作者您好,关于PEMS序列数据集的图结构是否有方向性?我看代码里面默认是无向图,是否可以提供一个有向图,无向图的可选项?还是说数据集本身就是无向图? |
您好,PEMS0X的数据集处理脚本是数据集自带的。你可以通过在github上搜索: |
作者您好,数据可视化的代码是否可以更新一下? |
好的,忘记更新了,明天更新啊 |
complete_config文件中CFG.DATASET.PARAM中的overlap参数未给出。 |
您好,感谢您的建议,overlap参数目前已经设置默认为False并自动调整,且给出警告。
|
已更新 |
您好,作者,感谢提供如此完整的学习框架!本人在使用和移植基线的过程中遇到一些问题和不便的地方,在此提出来以便您参考优化。
声明:以下问题和建议仅代表个人看法,仅供参考
问题:利用pycham直接运行data_preparation显示找不到数据集文件,运行train时也一样,做如下修改就可以运行:
OUTPUT_DIR = "../../../experiments/datasets/" + DATASET_NAME
DATA_FILE_PATH = "../../../datasets/raw_data/{0}/{0}.npz".format(DATASET_NAME)
GRAPH_FILE_PATH = "../../../datasets/raw_data/{0}/adj_{0}".format(DATASET_NAME)
DISTANCE_FILE_PATH = "../../../datasets/raw_data/{0}/distance_{0}".format(DATASET_NAME)
优化建议:
1.数据集的归一化和反归一化:CFG.RESCALE:如果为True,表示既反归一化数据又将整个数据的标准化,如果为False,表示既不反归一化数据又将数据的每个通道标准化。可以拆解为两个变量,一个变量控制数据的标准化,一个变量控制数据和归一化和反归一化。
2. 模型训练结果表示不清:用模型名+epochs的方式所表达的直接信息不全,可做如下修改:
CFG.TRAIN.CKPT_SAVE_DIR = os.path.join(
"checkpoints",
CFG.MODEL.NAME,
"_".join([CFG.DATASET_NAME, str(CFG.TRAIN.NUM_EPOCHS)])
)
3.项目的可视化接口不足:可在tensorboard中增加一些指标或增加预测数据保存的接口
4.项目cfg文件中有许多隐藏接口,可以添加一个Simple_CFG将所有接口表达出来,例如:
CFG.MODEL.SETUP_GRAPH = False
CFG.TRAIN.FINETUNE_FROM
CFG.RESCALE = True
5.在基线STGODE中,需要引入A_sp_hat, A_se_hat两个张量,发现即使将整个模型放入gpu中,这两个张量仍然存在于cpu中,直到后续.to(x.device)。这在模型的移植中不太便利,需要找到张量最终使用的地方。建议使用
from easytorch.device import get_device_type
if get_device_type() == 'gpu':
device = 'cuda'
else:
device = 'cpu'
self.device = device
或者from easytorch.device import to_device
6.在test过程中没有进度条显示,可修改:
tqdm process bar
data_iter = tqdm(self.test_data_loader)
test loop
for iter_index, data in enumerate(data_iter):
The text was updated successfully, but these errors were encountered: