预训练相关问题
haomes opened this issue · comments
haomes commented
您好,有两个问题向您请教:
1.您的预训练时间是多少?预训练跑得慢吗?
2.我在用您的模型跑我自己的数据集时,将训练好的模型接下游任务时,每个epoch的耗时很长,是否意味着您的下游任务每一次都会调用您的预训练任务呢?
S22 commented
您可以在training_logs
文件夹下面找到我的所有训练日志,其中包含所消耗的时间。
TSFormer_${DATASET_NAME}
是预训练阶段的训练日志。
STEP_${DATASET_NAME}
是预测阶段的训练日志。
相比于单独跑下游任务,使用STEP增强会较大地增加硬件负担,一般建议使用多卡。在我的实验中我使用了两张3090。
另外,一个比较好的策略是先在数据集上跑一遍TSFormer,产生表征数据后存储到硬盘上。
在跑下游任务时,直接将所有的数据load进内存中,这样会快不少。相当于是用空间(内存/硬盘)换时间。
如何更高效地使用预训练模型增强下游任务也是一个比较有趣的后续研究方向。
haomes commented
感谢您的回复,还有一个问题就是,您在discrete_graph_learning.py文件里面设置的train_length是怎么得到的?我试了好几种比例都不太对。
S22 commented
那个和每个数据集的整个时间序列的长度有关。
可以通过计算得来,但其实直接debug一下就能看到那个数字该是多少。