文章目录
- 前言
- 1.引入
- 2.数据集
- 训练
前言
数据集 https://github.com/zhouhaoyi/ETDataset/blob/main/README_CN.md
代码:https://github.com/zhouhaoyi/Informer2020#reproducibility
21年的paper:https://arxiv.org/pdf/2012.07436.pdf
论文在代码上有连接,貌似又出了2023的extend版本:
https://www.sciencedirect.com/science/article/abs/pii/S0004370223000322
惭愧啊,北航的paper哎…
1.引入
Transformer 这不行那不好,改了改Transformer做序列预测
数据集初探:
根据前面几列,预测最后一列油温。
原理图:
2.数据集
按要求把它放到这里。
训练
在readme拿参数即可,用的ETTh1, 用了gpu
(torch1.8) D:\code\python_project\Informer2020>python -u main_informer.py --model informer --data ETTh1 --attn prob --freq h --use_gpu 1 --gpu 0 --devices 0
Args in experiment:
Namespace(model='informer', data='ETTh1', root_path='./data/ETT/', data_path='ETTh1.csv', features='M', target='OT', freq='h', checkpoints='./checkpoints/', seq_len
=96, label_len=48, pred_len=24, enc_in=7, dec_in=7, c_out=7, d_model=512, n_heads=8, e_layers=2, d_layers=1, s_layers=[3, 2, 1], d_ff=2048, factor=5, padding=0, dis
til=True, dropout=0.05, attn='prob', embed='timeF', activation='gelu', output_attention=False, do_predict=False, mix=True, cols=None, num_workers=0, itr=2, train_ep
ochs=6, batch_size=32, patience=3, learning_rate=0.0001, des='test', loss='mse', lradj='type1', use_amp=False, inverse=False, use_gpu=False, gpu=0, use_multi_gpu=Fa
lse, devices='0', detail_freq='h')
Use CPU
>>>>>>>start training : informer_ETTh1_ftM_sl96_ll48_pl24_dm512_nh8_el2_dl1_df2048_atprob_fc5_ebtimeF_dtTrue_mxTrue_test_0>>>>>>>>>>>>>>>>>>>>>>>>>>
train 8521
val 2857
test 2857
python -u main_informer.py --model informer --data ETTh1 --attn prob --freq h --use_gpu True --gpu 0 --devices 0
对比两张图,有没有使用gpu 速度相差8倍。
训练完成后:
Epoch: 5 cost time: 15.433077812194824
Epoch: 5, Steps: 266 | Train Loss: 0.1593535 Vali Loss: 0.7067649 Test Loss: 0.7689049
EarlyStopping counter: 3 out of 3
Early stopping
>>>>>>>testing : informer_ETTh1_ftM_sl96_ll48_pl24_dm512_nh8_el2_dl1_df2048_atprob_fc5_ebtimeF_dtTrue_mxTrue_test_1<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
test 2857
test shape: (89, 32, 24, 7) (89, 32, 24, 7)
test shape: (2848, 24, 7) (2848, 24, 7)
mse:0.618998646736145, mae:0.5848820805549622
有用的参数:
features:预测任务的特征可以是多对一,一对多,多对多。
比如身高/体重/专业/年龄 预测 收入
年龄–>身高/体重/收入
身高/体重/专业/年龄 --> 收入/年龄/身高
pred_len 代表预测步长,可以拿前三天的特征预测后一周的特征,也可以后1天,。。。pred_len指的是7天或者1天【向后预测】。
seq_len 是历史上几天的数据区预测。
但是这里有个freq todo??