MICN流程图
2024-05-06 15:41:53 0 举报
MICN流程图
作者其他创作
大纲/内容
sea = x - moving_avg计算原始序列与其移动平均的差值,即季节性分量
return self.embed(x)
embed.py # TokenEmbedding # forward()
embed.py # PositionalEmbedding # forward()
dec 的维度由(32, 192, 512) 变为了(32, 192, 7)
embed.py # DataEmbedding # forward()
embed.py # TimeFeatureEmbedding # forward()
train()
conv_trans
for 循环内代码
decomp_multi
moving_avg = func(x)每一个 AvgPool1d 对 x 进行处理
dec_embedding
self.position_embedding(x)
moving_mean = sum(moving_mean) / len(moving_mean)维度(32, 96, 7)计算所有移动平均的平均值,得到最终的趋势分量
x = self.value_embedding(x) + self.position_embedding(x) + self.temporal_embedding(x_mark)
return x
self.temporal_embedding(x_mark)
local_global.py # moving_avg # forward(x)
遍历 train_loader 的数据:batch_x、batch_y、batch_x_mark、batch_y_mark
方法入口
sea = sum(res) / len(res)维度(32, 96, 7)计算所有季节性分量的平均值,得到最终的季节性分量
model.py # forward()
moving_mean.append(moving_avg)将得到的 moving_avg 加入到 moving_mean 集合中去moving_avg 维度为(32, 96, 7)
python -u run.py --model micn --mode regre --data ETTh1 --features M --freq h --conv_kernel 12 16 --d_layers 1 --d_model 512 --seq_len 96 --label_len 96 --pred_len 96
return self.projection(dec)
regression
local_global.py #series_decomp_multi # forward(x)
清空梯度model_optim.zero_grad()
regression.weight
seasonal_init_dec 变量维度为(32, 192, 7)x_mark_dec 维度为(32, 192, 4)dec_out 维度为(32, 192, 512)
res.append(sea)加入结果中
dec_out = self.conv_trans(dec_out)
self.value_embedding(x)
x 的维度为(32, 192, 7)经过 self.value_embedding(x) 维度为(32, 192, 512)经过 self.position_embedding(x) 维度为(1, 192, 512)经过 self.temporal_embedding(x_mark) 维度为(32, 192, 512)最后将三个嵌入后的 x 相加起来,x 的维度为(32, 192, 512)
初始化Exp_Informer
Dataset_ETT_hour以 ETTh1 数据集为例,这里初始化该类,在该类中读取数据
这里输入参数 batch_x 的维度为(32, 96, 7)第一个维度 32 表示批处理大小,即一次处理的样本数量第二个维度 96 表示时间序列的长度,即时间步数第三个维度 7 表示每个时间步的特征数量
for mic_layer in self.mic: dec = mic_layer(dec)
return self.dropout(x)
self.mode == 'regre'
通过一维平均池化操作(AvgPool1d)对输入进行处理,目的是降低序列数据的长度,同时保留其重要特征
x_dec 的维度(32, 192, 7)pred_len = 96这里通过 torch.zeros 创建一个维度为(32, 96, 7)的变量
0 条评论
回复 删除
下一页