Seb5Vet
Seb5Vet
> > 请问要进行模型输出值的反归一化,直接调用对应的数据集的方法inverse_transform,输入参数data直接传入模型输出量吗,是否需要别的处理呢? > > main_informer文件里有参数'--inverse',调这个就可以了。程序里有调用反归一的功能,不用你自己调用函数,调参数就可以了。 我把inverse这个参数改成true之后损失函数巨大,有几千万,用false就0.几,很正常
那这种情况如何画出最终的结果图呢,设置为false的话得到的结果都是归一化的预测数据 ------------------ 原始邮件 ------------------ 发件人: "zhouhaoyi/Informer2020" ***@***.***>; 发送时间: 2023年8月28日(星期一) 晚上6:45 ***@***.***>; ***@***.******@***.***>; 主题: Re: [zhouhaoyi/Informer2020] 反归一化的时候损失函数出大问题 (Issue #549) 你好,我认为是正常现象,而且inverse设置为false比较合理,以下是我的训练时inverse分别设为false和true的截图: inverse在数据中的作用为:在提供标签batch_y时,是否使用inverse+拼接的方式来提供,具体可见data/data_loader.py中的各个get_item()函数和exp/exp_informer.py中的训练过程。inverse为True,seq_y会由data_x某片段的末端label_len长度的数据和data_y中后续的pred_len长度的数据拼接而成;而data_y是原数据,data_x是由data_y进行归一化而来;反之,seq_y会完全由data_y提供。由于在训练过程中有效的部分来自于后段pred_len部分,因此inverse为True时,会出现训练目标和预期目标的数据格式不一致的情况(即data_x和data_y可能存在某种不连续性),因而导致loss飙升,我觉得这样不太合适。 不过我对代码也没有完全理解透彻,或许该参数有别的用法而我没有注意到。 — Reply to this email directly, view it on GitHub, or unsubscribe. You...