PyTorch-Transformer-for-RUL-Prediction icon indicating copy to clipboard operation
PyTorch-Transformer-for-RUL-Prediction copied to clipboard

找不到模型中decoder模块

Open xingkei opened this issue 3 years ago • 14 comments

你好,jiaxiang 最近了解了一下transformer模型,大都由encoder和decoder模块组成,但是在code中没有找到decoder模块,是什么原因呢?

xingkei avatar Jul 21 '21 02:07 xingkei

Hi Tommy! 这个基于Transformer的模型只采用了Transformer的encoder部分,详细模型结构可以看下参考论文,因为Transformer在NLP的应用中例如翻译通常是需要通过decoder来把encoder提取的特征重构成和输入类似的结构,但是在这个应用中我们只需要利用encoder把输入转化成特征然后再用全连接层输出RUL

jiaxiang-cheng avatar Jul 21 '21 02:07 jiaxiang-cheng

您好,请问就是只要运行train.py返回的是测试集的RMSE吗,为什么我迭代20次运行出来是30多,还有请问只用训练集和测试集不需要验证集吗

creatorcyh2021 avatar Aug 09 '21 12:08 creatorcyh2021

您好,请问就是只要运行train.py返回的是测试集的RMSE吗,为什么我迭代20次运行出来是30多,还有请问只用训练集和测试集不需要验证集吗

您好,train.py里面在每一个epoch后用测试集验证,所以是测试集的RMSE;README中的测试结果只是输出示例,并不代表你能得到的测试结果,示例中比较好的结果有我自己的Innovation无法公开,公开部分为已发表论文的reproduction;验证集是从训练集里选取的,用于在训练过程中验证模型的performance,可自行生成验证集并取消每个训练epoch后验证测试集,但因为数据集不大没有必要,如有需要请自行实验。该项目是复现先前的论文,效果不佳还请多多指教并欢迎一起合作改进~

jiaxiang-cheng avatar Aug 09 '21 13:08 jiaxiang-cheng

好的,谢谢您的解答

creatorcyh2021 avatar Aug 09 '21 13:08 creatorcyh2021

想再请问您一下,您公开的部分参数是怎么设置的,最好结果是多少呢

creatorcyh2021 avatar Aug 10 '21 04:08 creatorcyh2021

想再请问您一下,您公开的部分参数是怎么设置的,最好结果是多少呢

您好,公开部分最好结果是21.06,参数设置基本就是现在代码里的,但需要反复试验。

jiaxiang-cheng avatar Aug 10 '21 04:08 jiaxiang-cheng

好的,谢谢您

creatorcyh2021 avatar Aug 10 '21 04:08 creatorcyh2021

好像并没有实现并行化,每次都是利用一个样本在训练

KIKI9731 avatar Jul 20 '22 07:07 KIKI9731

好像并没有实现并行化,每次都是利用一个样本在训练

您说的并行化是指什么

jiaxiang-cheng avatar Jul 20 '22 07:07 jiaxiang-cheng

就是我看代码中,每个发动机数据是切片为好多个子数据(每个是3行),然后都是单独输入进网络的,一次只处理一个数据

KIKI9731 avatar Jul 20 '22 08:07 KIKI9731

就是我看代码中,每个发动机数据是切片为好多个子数据(每个是3行),然后都是单独输入进网络的,一次只处理一个数据

所以你是指没有batch,是,没有用batch训练

jiaxiang-cheng avatar Jul 20 '22 08:07 jiaxiang-cheng

是的,不过我想这样只是运行效率问题,对结果没有太大影响,还有一个问题想请教您一下,就是关于第一步CNN,时间窗是不是取的太小了一点,只有t-1~t+1,这样是不是就没有用transformer的必要了,因为本来transformer就是为了应对长序列的问题,不过我看原论文里也没有提具体时间窗设置的事情,不知道您之前在尝试的时候是否有考虑过这个问题,我也是刚看这篇文章,非常感谢大佬您的代码分享。我现在研一,刚刚接触RUL这个方向,有些问题可能自己理解的也不深,大佬见谅

------------------ 原始邮件 ------------------ 发件人: "Jia-Xiang @.>; 发送时间: 2022年7月20日(星期三) 下午4:08 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [jiaxiang-cheng/PyTorch-Transformer-for-RUL-Prediction] 找不到模型中decoder模块 (#2)

就是我看代码中,每个发动机数据是切片为好多个子数据(每个是3行),然后都是单独输入进网络的,一次只处理一个数据

所以你是指没有batch,是,没有用batch训练

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

KIKI9731 avatar Jul 20 '22 08:07 KIKI9731

是的,不过我想这样只是运行效率问题,对结果没有太大影响,还有一个问题想请教您一下,就是关于第一步CNN,时间窗是不是取的太小了一点,只有t-1~t+1,这样是不是就没有用transformer的必要了,因为本来transformer就是为了应对长序列的问题,不过我看原论文里也没有提具体时间窗设置的事情,不知道您之前在尝试的时候是否有考虑过这个问题,我也是刚看这篇文章,非常感谢大佬您的代码分享。我现在研一,刚刚接触RUL这个方向,有些问题可能自己理解的也不深,大佬见谅 ------------------ 原始邮件 ------------------ 发件人: "Jia-Xiang @.>; 发送时间: 2022年7月20日(星期三) 下午4:08 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [jiaxiang-cheng/PyTorch-Transformer-for-RUL-Prediction] 找不到模型中decoder模块 (#2) 就是我看代码中,每个发动机数据是切片为好多个子数据(每个是3行),然后都是单独输入进网络的,一次只处理一个数据 所以你是指没有batch,是,没有用batch训练 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

您提的问题很有意思,我确实有尝试过不同的时间窗,这应该是尝试后选择的设置。我记得这个时间窗有一个问题,就是最后预测的结果其实是对应中间位置时间t的预测,这样的话最后一个预测对应的并不是现在使用周期T的预测,而是T-1,所以如果时间窗选择过长的话会导致最后预测的结果离T比较远。我应该也尝试过每个时间窗选择为t-2到t,这样最后能对应最后的预测结果,但是应该结果不好。欢迎您再尝试并分享

jiaxiang-cheng avatar Jul 20 '22 08:07 jiaxiang-cheng

就是我看代码中,每个发动机数据是切片为好多个子数据(每个是3行),然后都是单独输入进网络的,一次只处理一个数据

------------------ 原始邮件 ------------------ 发件人: "jiaxiang-cheng/PyTorch-Transformer-for-RUL-Prediction" @.>; 发送时间: 2022年7月20日(星期三) 下午3:57 @.>; @.@.>; 主题: Re: [jiaxiang-cheng/PyTorch-Transformer-for-RUL-Prediction] 找不到模型中decoder模块 (#2)

好像并没有实现并行化,每次都是利用一个样本在训练

您说的并行化是指什么

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

KIKI9731 avatar Oct 11 '22 08:10 KIKI9731