From 8574cc3835cf3fa9e97844292f9d4e5d76feea82 Mon Sep 17 00:00:00 2001 From: Origami_SL Date: Fri, 16 Sep 2022 10:21:00 +0800 Subject: [PATCH] Delete A2A directory --- A2A/A2A/Layers.py | 93 ----- A2A/A2A/__pycache__/Layers.cpython-36.pyc | Bin 7364 -> 0 bytes A2A/A2A/__pycache__/Layers.cpython-38.pyc | Bin 3824 -> 0 bytes A2A/A2A/__pycache__/model.cpython-36.pyc | Bin 3995 -> 0 bytes A2A/A2A/__pycache__/model.cpython-38.pyc | Bin 2260 -> 0 bytes A2A/A2A/model.py | 53 --- A2A/README.md | 143 -------- A2A/SecondStage/Embed.py | 25 -- A2A/SecondStage/MLP.py | 21 -- .../__pycache__/Embed.cpython-38.pyc | Bin 1372 -> 0 bytes .../__pycache__/MLP.cpython-38.pyc | Bin 1147 -> 0 bytes A2A/data/__init__.py | 1 - A2A/data/data_loader.py | 326 ---------------- A2A/exp/__init__.py | 0 A2A/exp/__pycache__/__init__.cpython-36.pyc | Bin 152 -> 0 bytes A2A/exp/__pycache__/__init__.cpython-38.pyc | Bin 119 -> 0 bytes A2A/exp/__pycache__/exp_basic.cpython-36.pyc | Bin 1517 -> 0 bytes A2A/exp/__pycache__/exp_basic.cpython-38.pyc | Bin 1554 -> 0 bytes A2A/exp/__pycache__/exp_model.cpython-36.pyc | Bin 10530 -> 0 bytes A2A/exp/__pycache__/exp_model.cpython-38.pyc | Bin 8982 -> 0 bytes A2A/exp/exp_basic.py | 37 -- A2A/exp/exp_model.py | 347 ------------------ A2A/img/AL.png | Bin 42247 -> 0 bytes A2A/img/Multivariate.png | Bin 215086 -> 0 bytes A2A/img/Temporal_ELAN.png | Bin 73140 -> 0 bytes A2A/img/pos-neg_pairs.png | Bin 55251 -> 0 bytes A2A/main.py | 130 ------- A2A/requirements.txt | 5 - A2A/result.log | 0 A2A/scripts/A2A.sh | 31 -- A2A/utils/__init__.py | 0 A2A/utils/__pycache__/__init__.cpython-36.pyc | Bin 154 -> 0 bytes A2A/utils/__pycache__/__init__.cpython-38.pyc | Bin 121 -> 0 bytes A2A/utils/__pycache__/masking.cpython-36.pyc | Bin 2083 -> 0 bytes A2A/utils/__pycache__/masking.cpython-38.pyc | Bin 2057 -> 0 bytes A2A/utils/__pycache__/metrics.cpython-36.pyc | Bin 1383 -> 0 bytes A2A/utils/__pycache__/metrics.cpython-38.pyc | Bin 567 -> 0 bytes A2A/utils/__pycache__/tools.cpython-36.pyc | Bin 5315 -> 0 bytes A2A/utils/__pycache__/tools.cpython-38.pyc | Bin 5318 -> 0 bytes A2A/utils/masking.py | 38 -- A2A/utils/metrics.py | 18 - A2A/utils/tools.py | 159 -------- 42 files changed, 1427 deletions(-) delete mode 100644 A2A/A2A/Layers.py delete mode 100644 A2A/A2A/__pycache__/Layers.cpython-36.pyc delete mode 100644 A2A/A2A/__pycache__/Layers.cpython-38.pyc delete mode 100644 A2A/A2A/__pycache__/model.cpython-36.pyc delete mode 100644 A2A/A2A/__pycache__/model.cpython-38.pyc delete mode 100644 A2A/A2A/model.py delete mode 100644 A2A/README.md delete mode 100644 A2A/SecondStage/Embed.py delete mode 100644 A2A/SecondStage/MLP.py delete mode 100644 A2A/SecondStage/__pycache__/Embed.cpython-38.pyc delete mode 100644 A2A/SecondStage/__pycache__/MLP.cpython-38.pyc delete mode 100644 A2A/data/__init__.py delete mode 100644 A2A/data/data_loader.py delete mode 100644 A2A/exp/__init__.py delete mode 100644 A2A/exp/__pycache__/__init__.cpython-36.pyc delete mode 100644 A2A/exp/__pycache__/__init__.cpython-38.pyc delete mode 100644 A2A/exp/__pycache__/exp_basic.cpython-36.pyc delete mode 100644 A2A/exp/__pycache__/exp_basic.cpython-38.pyc delete mode 100644 A2A/exp/__pycache__/exp_model.cpython-36.pyc delete mode 100644 A2A/exp/__pycache__/exp_model.cpython-38.pyc delete mode 100644 A2A/exp/exp_basic.py delete mode 100644 A2A/exp/exp_model.py delete mode 100644 A2A/img/AL.png delete mode 100644 A2A/img/Multivariate.png delete mode 100644 A2A/img/Temporal_ELAN.png delete mode 100644 A2A/img/pos-neg_pairs.png delete mode 100644 A2A/main.py delete mode 100644 A2A/requirements.txt delete mode 100644 A2A/result.log delete mode 100644 A2A/scripts/A2A.sh delete mode 100644 A2A/utils/__init__.py delete mode 100644 A2A/utils/__pycache__/__init__.cpython-36.pyc delete mode 100644 A2A/utils/__pycache__/__init__.cpython-38.pyc delete mode 100644 A2A/utils/__pycache__/masking.cpython-36.pyc delete mode 100644 A2A/utils/__pycache__/masking.cpython-38.pyc delete mode 100644 A2A/utils/__pycache__/metrics.cpython-36.pyc delete mode 100644 A2A/utils/__pycache__/metrics.cpython-38.pyc delete mode 100644 A2A/utils/__pycache__/tools.cpython-36.pyc delete mode 100644 A2A/utils/__pycache__/tools.cpython-38.pyc delete mode 100644 A2A/utils/masking.py delete mode 100644 A2A/utils/metrics.py delete mode 100644 A2A/utils/tools.py diff --git a/A2A/A2A/Layers.py b/A2A/A2A/Layers.py deleted file mode 100644 index 2c9e610..0000000 --- a/A2A/A2A/Layers.py +++ /dev/null @@ -1,93 +0,0 @@ -import torch.nn as nn -import torch -from torch.nn.utils import weight_norm - - -class ConvLayer(nn.Module): - def __init__(self, c_in, c_out, kernel=3, dropout=0, s=2, dilation=1): - super(ConvLayer, self).__init__() - self.dropout = nn.Dropout(dropout) - self.kernel = kernel - self.downConv = weight_norm(nn.Conv1d(in_channels=c_in, - out_channels=c_in, - padding=(kernel - 1) * dilation // 2, - stride=s, - kernel_size=kernel, - dilation=dilation)) - self.activation1 = nn.Tanh() - self.actConv = weight_norm(nn.Conv1d(in_channels=c_in, - out_channels=c_out, - padding=1, - stride=1, - kernel_size=3)) - self.activation2 = nn.Tanh() - self.sampleConv = nn.Conv1d(in_channels=c_in, - out_channels=c_out, - kernel_size=1) if c_in != c_out else None - self.pool = nn.MaxPool1d(kernel_size=3, stride=2, padding=1) if s != 1 else None - - def forward(self, x): - y = x.clone() - if self.sampleConv is not None: - y = self.sampleConv(y.permute(0, 2, 1)).transpose(1, 2) - if self.pool is not None: - y = self.pool(y.permute(0, 2, 1)).transpose(1, 2) - x = self.dropout(self.downConv(x.permute(0, 2, 1))) - x = self.activation1(x).transpose(1, 2) - x = self.dropout(self.actConv(x.permute(0, 2, 1))) - x = self.activation2(x).transpose(1, 2) - x = x + y - return x - - -class ConvBlock(nn.Module): - def __init__(self, c_in, kernel=3, dropout=0, layer=1, s=2): - super(ConvBlock, self).__init__() - self.s = s - if s == 2: - Conv = [nn.Sequential(ConvLayer(c_in, c_in, kernel, dropout, s=2), - ConvLayer(c_in, c_in, kernel, dropout, s=1)) for i in range(layer)] - else: - Conv = [nn.Sequential(ConvLayer(c_in, c_in, kernel, dropout, s=2), - ConvLayer(c_in, c_in, kernel, dropout, s=1)) for i in range(layer - 1)] - SubConv1 = nn.Sequential(ConvLayer(c_in, c_in, kernel, dropout, s=2), - ConvLayer(c_in, c_in, kernel, dropout, s=1)) - SubConv2 = nn.Sequential(ConvLayer(c_in, c_in, kernel, dropout, s=2), - ConvLayer(c_in, c_in, kernel, dropout, s=1), - ConvLayer(c_in, c_in, kernel, dropout, s=1), - ConvLayer(c_in, c_in, kernel, dropout, s=1) - ) - SubConv = [SubConv1, SubConv2] - self.SubConv = nn.ModuleList(SubConv) - self.conv = nn.ModuleList(Conv) - - def forward(self, x): - for cons in self.conv: - x = cons(x) - if self.s == 1: - out = [] - for SubConvBlock in self.SubConv: - out.append(SubConvBlock(x)) - out = torch.cat(out, dim=1) - return out - return x - - -class ELAN_block(nn.Module): - def __init__(self, d_model, kernel, dropout, attn_nums): - super(ELAN_block, self).__init__() - self.d_model = d_model - self.attn_nums = attn_nums - pro_conv = [ConvBlock(self.d_model // (attn_nums + 1), kernel=kernel, dropout=dropout, layer=i + 1) - for i in range(attn_nums - 1)] - pro_conv.append(ConvBlock(self.d_model // (attn_nums + 1), kernel=kernel, - dropout=dropout, layer=attn_nums, s=1)) - self.pro_conv = nn.ModuleList(pro_conv) - - def forward(self, x): - out = [] - part_x = torch.split(x, self.d_model // (self.attn_nums + 1), dim=-1) - for i, conv in enumerate(self.pro_conv): - out.append(conv(part_x[i])) - out = torch.cat(out, dim=1) - return out diff --git a/A2A/A2A/__pycache__/Layers.cpython-36.pyc b/A2A/A2A/__pycache__/Layers.cpython-36.pyc deleted file mode 100644 index fe95ab0f0a3a816910a154f6b61d66c43eb39862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7364 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 TldkdH)-yothFt#P^7sD>ifkMX diff --git a/A2A/A2A/__pycache__/model.cpython-36.pyc b/A2A/A2A/__pycache__/model.cpython-36.pyc deleted file mode 100644 index fed84dd6609c5b60bc8c89a5a47352e3f8aa7a61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3995 zcmai1&5zs06`$dkNa}O7YkTdw>DEnyDrgpV`Vk;8jM&~dMX^}~aexAZ4Mx^byOJqN zJLD$o1$C)hNIe8_fgX$ATLftTh#vAM6mu;a)R&%Gpva~Dy`i*PZCzIaXC8-dW`6I@ zdp|z@pj!3q8(W=snvDI0o%vai-^G=Ff<`dGV-^%W54gTJ`etB4GGc3B2ll`ToIxol z4cx%xq-n<9zz=*aTXA_%2`Zeu&x9?Ur%X7J*{@E_peFcz)+#;6E^M!5DgV9Q+k4@o zc-VQY+>iG5?iA9;cjr>=c9um+)*B}JNsFuMPCIMAH+U2Y(M$F*;NH7iEYP7v7e6wH ze(CqnM2w6G4B<^#mkUFfPdympi;{4k^1zxhiv>1-m6dt>&D+Ypd;jCRyPdjTfw7C| z9b6`^^v?!k8Jn;^pD@m5=ByGLIY(>GJhax#Mr+Ruw9d>&Tbj9O-B}r}H#MhL*AT$) z)Xn^vKjAxULbJ5D zMsvERa9*na3G_?Q|3|R{^xc>0Ux&W;*m%a}s~S-WGyIp$0J{2w!Lr6a8#iXIDC^mO z7nSka@x6uZ58oa)^EKFQifZ0mXII!;Y`g}q`gwDciP|NMjMwu|tZfGi3XW&G^Lpm2qfc5`Ru}T3k|&vbp(Mh=P((2VIUEg-vfr_Pej7UX z-hO~A3$rNAw%*wK>o5QC)o;F_kq26Pd-UXM|7P4vv(9iZx^)Q?(gMuM7L>Nbu$T0* zFxUEeH!`Wf7mO*x+Kmw&4{B+J=i{!;B-y3_8M1Hn9pzBqcoTpxs)AETfYZ zk}c)6vn&adqd_XGG+aZYoX3$&qF7Ip4H{lU^9@{cz=5+9MWfpvtpFu( zqG8#6#8J*KQ$|>bDFYClMP49o%yuVJCgP@un9^vNhDo#!r;(w`i`$Q)IEkC)Y@hER3BN0-VtJ3I+Y!7-uS!on^&zW@t%JUOnfln@aK@tEw@8hsH0DoefO#)LH zNur$HUJ|vXa%D73rZ=H=$kZ6uktEM zI=l3GbQF3~Wy^N5A0cvJKPnMPfvx-xhT)T%8QOOiQpSbd4XUP zjY@66>m+TX2})^nNU^6$PL+E}*g0q?V6-%F0Yb-{q>w_D<%MAmKdGF3hkRY`_9WgyY1ZD4bpGG#P_EFAOrt=% zi!1#jxFKVG)O}++=Y9Ub96RIE*oCaCxe3Z+)Pz><c$@Wd;lz|MWDgJ`4}@0yoUBaW+iC9k5dLC+T! zYPY{ZD(C)Xme(eHxj(J5SOs!rVqs1VI1OQ+!HFjt>ly8dIj$vFm#Z$<6z;^-dwZxk zu^VT(FF0y7|8NggN8y=zZU{$LdDnCAKFWoDEeG}-71+3eJB=C@=B*vu`g_eH*z*K>Q5<;}dl$+{-?UPEEx?P(&HmvMsna3$3- zlFIp$vj_kD-}uQNW4N`ZtgJVPzzhfNQKUTNP?CbQBjtC7_zu}W8Xl#}`m`5)ro5vh zJv@q{lSr8-y^*9Z4XLwBr>jmj%Cmxp-XQ5ZHIz}BUs~%ry94_;1d%8U{IIX=ULvAn z<)!UUqflevnc{a8-&K4k@QHCyNsW#&WsIH#c0^x7fkku^c>0Fc3OxNuMViXUZUk-? z4MubqXv!*v-z>QClpsM+L-|=-iuVC9B?4zixeC9AB(sn{uj9@~`+ego`ij1@kZ2Vo z8Ks|#^lkE!G9}o2CA^)9@LQ(*5xOG5S`HCz(jG)%sQi#hM6f30N*Epghyr9EMBKSe!r>WJ2W(y`)pBNnE4$j--)RUA~1*+2Fy>fpT@Xog|vD1D}xY z67#0I=95(C=%Pl~6v5j42!}526FF?_PflIp2KBS!Aj;xh?iBQ|_g#WqzJHW^voQ4* R)fp)jmM-Yc*S@Qm{{g_ePj3JK diff --git a/A2A/A2A/__pycache__/model.cpython-38.pyc b/A2A/A2A/__pycache__/model.cpython-38.pyc deleted file mode 100644 index 1905a4e4158950d8c61732686931b4736e8b8a75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2260 zcmZWqOK;mo5Z+zBsfV4|N$k{ZU864rg-`@23KT}rG>&_5i~vS2L;`}*u4E|`MK7r) zHpr7wNS7XZ?MXsU`3wCQz3#Oq-+Ioaomu)JG!!_Rot>TicJ`a$PmP98;Q8aPoz6Ed zA%Ejw`7vSeJ-pdI2u?VS$&dz=qRwJAGy+5GMr;nPz|y)I+e0UCDEX0ai`#Dqw*?)z z6C?0AJt8gV9Ac5fw^aF$4;~(dFXB<>C5#$-Q64=Wz7U-ElO7n{{YTYg2Nx_q#>F7} z927wU%1OYcq)R#F?2Q{3+|gUpz?>431Qu-TD&yh(hn?C|oK?^rcrjd7r-bBWLgsWq zD4DT>gsh+-jhO|~EDVs=3@!G|2In$QYwxuU&SwD&qEcu$8N zNXga1K(papgE!j%(F2grS4)}$8D;=yV*JKVOjt(VIZ3@a<&bw?J(>o{X7iYyTF?$ z&K`hr>HZ#I;B*D}BTzKp+X#3@XU2@pNI^Hq#H?V;6>yPwN{KbmGL;wQc@ie$VI~`B zZh}zuOCb{xSKde~04c(Y5K=Q@Z7ruXomQJ-lC6piPu#$)2$ZekjZ8Ibu`>oS!s zLm5#gR|de)03_Z)h0v0>P}i`$R0i(}&6bRko=^_XLg^}&B+7p>;^SBx zAR6zftco~O&VCFT6^U}X7m6LFsYtl85BiCSr1CZ5I64J52JEbiCkIbktIEto+?89n zDPoZyqR@AO7_QSGF}F(yG0XA`6m<}))=$FDag@OQWq}K!b;6+2cwyLyqbv)f};i{s#~jNtS&Hf-s-j%RhFPHrW=fgWY6xx<%JP-=SyqWg@?;b^9{Q zx3fIz35liCK_*>3NK0%|kKoPz0a4Had1jPmX_azxYe#T0#^b4;5x^eOgw7Y>@gQi}%*j&(3*}KLjw6n5S z_(cu=v7vc|yGfwoT=le#FPZ$aaE_o~3~B|$D;)4{ z6piZ$FjL2wg`w>iXM(oYgnnWlN~{~X4&wY@cyy9v8-}e0u=hAhh4OMBVwR3Fq5RG$ z$@{(WXq+kY=e~HQym6A9jD@_{fR@*z|F-l)tast zFjd8=n-4Myien^SMUsCCgKQfFp>?`LP59lW_oxdj^5N$KqndOB=FV!!ri)cArt_jR z)UvUrlV~WyQ28NtU#LpZ>tT2@j^b)YB8BBH2-UbKgN}&fFkAxm6}o7?BiE6Qx_`K| zz9rGp@|By9Waqe@Byt-JfsdFDu#hu}pV#2Vk$`LAM@aIv{>n=W?JLW6C`pOYm0fiZ Z9efGLb(Y-S>NF3qUNXc`hg87N_z#Ao|3v@* diff --git a/A2A/A2A/model.py b/A2A/A2A/model.py deleted file mode 100644 index 1275c8d..0000000 --- a/A2A/A2A/model.py +++ /dev/null @@ -1,53 +0,0 @@ -import torch.nn as nn -from A2A.Layers import ELAN_block -from SecondStage.Embed import DataEmbedding -from SecondStage.MLP import FC_block - - -class A2A(nn.Module): - def __init__(self, label_len, pred_list, enc_in, d_model, repr_dim, act, dropout, - kernel, attn_nums, pyramid): - super().__init__() - self.d_model = d_model - self.label_len = label_len - self.pred_list = pred_list - self.enc_in = enc_in - self.attn_nums = attn_nums - self.pyramid = pyramid - self.repr_dim = repr_dim - - self.enc_bed = [DataEmbedding(1, d_model, dropout) for i in range(pyramid)] - self.enc_bed = nn.ModuleList(self.enc_bed) - - Pr_blocks = [ELAN_block(d_model, kernel, dropout, attn_nums - i) for i in range(pyramid)] - self.Pr_blocks = nn.ModuleList(Pr_blocks) - - self.flatten = nn.Flatten() - repr_layer = [] - - for i in range(pyramid): - in_channels = d_model * label_len // (2 ** i) // (attn_nums - i + 1) - repr_layer.append(nn.Linear(in_channels, repr_dim)) - self.repr_layer = nn.ModuleList(repr_layer) - - MLP_list = [FC_block(repr_dim, pred_list[i], act=act, num=pyramid, dropout=dropout) for i in range(len(pred_list))] - self.MLP = nn.ModuleList(MLP_list) - - def forward(self, x_enc, flag='first stage', index=0): - B, L, D = x_enc.shape - x_enc = x_enc.transpose(1, 2).contiguous().view(B * D, L).unsqueeze(-1) - enc_output = [] - py = 0 - for embed, Pr_b in zip(self.enc_bed, self.Pr_blocks): - embed_enc = embed(x_enc[:, -self.label_len // (2 ** py):, :]) - block_out = Pr_b(embed_enc) - block_out = self.repr_layer[py](block_out.contiguous().view(B, D, -1)) - enc_output.append(block_out) - py += 1 - if flag == 'first stage': - return enc_output - else: - temp_out = self.MLP[index](enc_output) - temp_out = temp_out.contiguous().view(B, D, self.pred_list[index]) - enc_out = temp_out.transpose(1, 2) - return enc_out diff --git a/A2A/README.md b/A2A/README.md deleted file mode 100644 index 425db2d..0000000 --- a/A2A/README.md +++ /dev/null @@ -1,143 +0,0 @@ -# Area2Area Forecasting: Looser Constraints, Better Predictions -![Python 3.8](https://img.shields.io/badge/python-3.8-green.svg?style=plastic) -![PyTorch 1.11.0](https://img.shields.io/badge/PyTorch%20-%23EE4C2C.svg?style=plastic) -![cuDNN 8.2.0](https://img.shields.io/badge/cudnn-8.2.0-green.svg?style=plastic) -![License CC BY-NC-SA](https://img.shields.io/badge/license-CC_BY--NC--SA--green.svg?style=plastic) - -This is the origin Pytorch implementation of Area2Area forecasting formula in the following paper: -[Area2Area Forecasting: Looser Constraints, Better Predictions](Manuscript submitted to journal Neurocomputing). - - - - -## Causal Sequence-wise Contrastive Learning -Positive sampling: We treat input sequences with/without data augmentation which span the same timestamps as -positive examples with each other. Meanwhile, other input -sequences are treated as negative examples of the current -selected input sequence, even if they only contain one different timestamp. (2) Negative sampling: -We introduce extra negative data augmentation into each input sequence where we randomly shuffle all elements of -input sequence and treat shuffled input sequences as negative examples of the current selected input sequence. -

- -

-Figure 1. An overview of the final contrastive loss. Each block denotes the representation of input sequence under a timespan -of a variable. Blocks with different colors refer to representations of different variables. Only input sequences with data augmentation (parallelogram with light color) which span the same timestamps of initial sequences are treated as their positive -examples (dotted lines) and other sequences are treated as their negative examples (solid lines). -

- -## Area Loss -Area Loss (AL) replaces the certain truth of prediction sequence with an area surrounding it as shown in Figure 6. We choose a fixed upper bound as the maximum of truth area and a fixed lower bound as the minimum one. It means that values of prediction elements will be treated as truth if they are within aforementioned area - -

- -

-Figure 2. AL extends the truth (black line) to an area encompassed by two red dotted lines which separately refer to the -upper and lower bound. -

- - - -## Temporal ELAN -we propose Temporal ELAN, a simple -and efficient feature extractor and use it as the backbone in the first stage. It is a CNN based network and has at least two merits compared with canonical Temporal Convolution -Network (TCN): -1. It abandons dilated convolution and utilizes only normal convolutions and pooling to extract universal feature -maps of input sequence. -2. It is derived from ELAN, a 2D CNN which has been proved to be powerful in Computer Vision (CV) tasks. Built upon ELAN, it not only acquires its merits, but also is capable of extracting hierarchical multi-scale feature maps of input sequence. - -

- -

-Figure 3. The architecture of Temporal ELAN. Each CPblock contains two convolutional layers and a maxpooling layer to shrink sequence length. -

- -## Requirements - -- Python 3.8 -- matplotlib == 3.1.1 -- numpy == 1.19.4 -- pandas == 0.25.1 -- scikit_learn == 0.21.3 -- torch == 1.11.0 - -Dependencies can be installed using the following command: -```bash -pip install -r requirements.txt -``` - -## Data - -The ETT dataset was acquired at: [ETT](https://github.com/zhouhaoyi/ETDataset); - -The ECL dataset was acquired at: [ECL](https://archive.ics.uci.edu/ml/datasets/ElectricityLoadDiagrams20112014); - -The Traffic dataset was acquired at: [Traffic](http://pems.dot.ca.gov); - -The Exchange dataset was acquired at: [Exchange](https://github.com/laiguokun/multivariate-time-series-data); - -The weather dataset was acquired at: [weather](https://www.bgc-jena.mpg.de/wetter/). - -## Usage -Commands for training and testing Temporal ELAN-A2A of all datasets are in `./scripts/A2A.sh`. - -More parameter information please refer to `main.py`. - -We provide a complete command for training and testing Temporal ELAN-A2A: - -``` -python -u main.py --model --data --root_path --features --label_len --pred_list --d_model --repr_dim --kernel --attn_nums --pyramid --criterion --dropout --batch_size --cost_batch_size --order_num --aug_num --jitter --activation --cost_epochs --cost_grow_epochs --train_epochs --itr -``` - -Here we provide a more detailed and complete command description for training and testing the model: - - -| Parameter name | Description of parameter | -|:---:|:---:| -| model | The model of experiment. This can be set to `A2A` | -| data | The dataset name | -| root_path | The root path of the data file | -| data_path | The data file name | -| features |The forecasting task. This can be set to `M`,`S` (M : multivariate forecasting, S : univariate forecasting | -| target | Target feature in `S` task | -| checkpoints | Location of model checkpoints | -| label_len |Input sequence length | -| pred_list | Group of prediction sequence length | -| enc_in | Input size | -| c_out | Output size | -| d_model | Dimension of model | -|aug_num|The number of sequences with data augmentation, including initial sequences | -|order_num|The number of shuffled sequences| -|jitter|Supremum data augmentation amplification| -|aug|Augmentation method used in Area Loss. This can be set to `Scaling`,`Jittering` | -|instance_loss|Including instance loss during the first stage| -| dropout | Dropout | -|kernel|The kernel size | -|criterion|Standardization| -| itr | Experiments times | -| activation |Activation function. This can be set to `Gelu`,`Tanh` | -| cost_epochs | Train epochs of the first stage | -| cost_grow_epochs | Train growing epochs of the first stage per experiment | -| train_epochs | Train epochs of the second stage | -| cost_batch_size | The batch size of training input data in the first stage | -| batch_size | The batch size of training input data in the second stage | -| patience | Early stopping patience | -| learning_rate | Optimizer learning rate | -| pyramid |The number of Pyramid networks | -| attn_nums | The number of streams in the main Pyramid network | -|repr_dim|Dimension of representation| -| loss | Loss function | - - -## Results - -The experiment parameters of each data set are formated in the `A2A.sh` files in the directory `./scripts/`. You can refer to these parameters for experiments, and you can also adjust the parameters to obtain better mse and mae results or draw better prediction figures. - -

- -

-Figure 4. Multivariate forecasting results -

- - -## Contact -If you have any questions, feel free to contact Li Shen through Email (shenli@buaa.edu.cn) or Github issues. Pull requests are highly welcomed! diff --git a/A2A/SecondStage/Embed.py b/A2A/SecondStage/Embed.py deleted file mode 100644 index 681e3ab..0000000 --- a/A2A/SecondStage/Embed.py +++ /dev/null @@ -1,25 +0,0 @@ -import torch.nn as nn - - -class TokenEmbedding(nn.Module): - def __init__(self, c_in, d_model): - super(TokenEmbedding, self).__init__() - padding = 0 - self.tokenConv = nn.Conv1d(in_channels=c_in, out_channels=d_model, - kernel_size=1, padding=padding) - - def forward(self, x): - x = self.tokenConv(x.permute(0, 2, 1)).transpose(1, 2) - return x - - -class DataEmbedding(nn.Module): - def __init__(self, c_in, d_model, dropout=0.1): - super(DataEmbedding, self).__init__() - - self.value_embedding = TokenEmbedding(c_in=c_in, d_model=d_model) - self.dropout = nn.Dropout(p=dropout) - - def forward(self, x): - x = self.value_embedding(x) - return self.dropout(x) diff --git a/A2A/SecondStage/MLP.py b/A2A/SecondStage/MLP.py deleted file mode 100644 index 6eb8178..0000000 --- a/A2A/SecondStage/MLP.py +++ /dev/null @@ -1,21 +0,0 @@ -import torch -import torch.nn as nn - - -class FC_block(nn.Module): - def __init__(self, in_channels, out_channels, act, num, dropout): - super(FC_block, self).__init__() - FC = [nn.Sequential( - nn.Linear(in_channels, in_channels), - nn.Dropout(dropout), - nn.Tanh() if act == 'Tanh' else nn.GELU(), - nn.Linear(in_channels, out_channels)) for _ in range(num)] - self.FC = nn.ModuleList(FC) - - def forward(self, x_list): - i = 0 - x_out = 0 - for x, fc in zip(x_list, self.FC): - x_out += fc(x.clone().detach()) - i += 1 - return x_out / i diff --git a/A2A/SecondStage/__pycache__/Embed.cpython-38.pyc b/A2A/SecondStage/__pycache__/Embed.cpython-38.pyc deleted file mode 100644 index dc20f208e8dd92c7137e6d368ccc32a989348555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1372 zcmZ{k&2AGh5P)s(Pd06mLiwrqk*KN)X*om!aY6{FTHr)4g-cY)TGnoxcC#DoO@U~8 zYNej~0B}l;K0yEyEX^^nwi9PoGc;?%@tJmiUjPE~I;suA0pSZa^ zT-dyTsUL$7M9_qEXp2(vng}MG6CxZ*_t~-2azNt>4>aCb;|jV(LjN2r$!3i5@_=Y| z=vDZUq(ud3u~V``1r_WhXgR_W?g?qRr^F>K4?KCM@ise<>C4W0DMUNnjVC_P5oYSc zM4f&BA}2X5$T1tRA)%1@k&`?7Zb1tsSOMP8+=6gV5b*47Dhd|oC_>lFw^JVPMQJJ% zZE9IBpYG-lqyjb9?Y=aXZe;TaedFm~S1QH8feAQor|q0`!_w6F>sfmEP?&0tx#I>R zxLPJV#*N{ksR-W5giKTgj7QW|IggV_YtBdH_nlWyw$~o5ZEwjqOT|_m?aFQY{$}^H zs)B(BQ`bNc+Mq5CC?o7oe`&T*%}GWvCO8?m#+d6c^)iTp3`ju-wgbW$Izu{u9t$>P zN3_6RPU?h~3JV=N3S&bhr0Vo?39nR9s=Jw%Bc|$jL_euTyl%xcdwC~QA0s8^VWY8a zgx;n7oByOdzBKZ&o@vyPP|rDzrRpWPu5tdM7bWG1Erq&;-s|J?#WG1azZClloGMJf zb_wI!-~p}qRuh9}X4up~qwj;55Gs7jD6(G#MlJD|7_FH4MwCYvi2nNe1;@AN@x&X3 zz%@?GY7-W-tmclTl%6pl)XlwpA9!VFKr^pcUY*U5sRr1o1rQ-Mv>OI0K*c>22u8`` z!eNy3B$ty60@uJ^xd>g`tf^16iY{!)E*fXuUIo3z?+kcj4QSiUbN>$- zK6M>!uY)K-8&bfE3;?Ym!bR~>D{xxIUc%KZIkv&5A5$|&`!{C8kD&>vT1NBRvp%K- zV3lw;CZOTly1_q8kY_61Yo=*gDF2Pc&DOFk?KGo{x|rZ;N#!&A|FAA=&SLE^okAgp diff --git a/A2A/SecondStage/__pycache__/MLP.cpython-38.pyc b/A2A/SecondStage/__pycache__/MLP.cpython-38.pyc deleted file mode 100644 index 31d7271b1aa4f88a7901680359dfc6491380de55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1147 zcmZWo%}(1u5T5<96GB2kMg6_C^pGB+s+UR#p;9PZ0;)v0SV1e->p;L+hqa?p>MNu=@A<|w9Ju#FRZzFt*@($9LJBF#U`#J*4g@AJArm@b zUChTuPFcpsWCO-zhg)0HyU^@Z92-Af`z%0r`lw=d(05aHL9g!3+tWo(w~k_Wa1W z?VbvKZ7Lf&9>l{`+o}xT`qjJ=qnXQiK*kQJL?Mm zJl$OGti4_9?1n+C3qkVM{YTF)D+m7Wh3fp+e(9Lzc z!;>)TYWu2wV4-f^m>TwV!zpn8 zmv3NGnl5|AL0LyhJ|IXkq9`nd45#3TjOhmKFLmgMkDQEUPR8vNU9ueKkW$3jT1z%3XLnn)DN)P`U!e??y0c68PfBdQ-RGg(B7CB-t`&*-C8xs-!+sv=@IwCyjM*XsX55QmSmQTQ<0G Ux)-mAT$EH@DYII&R851jzq%F+z5oCK diff --git a/A2A/data/__init__.py b/A2A/data/__init__.py deleted file mode 100644 index 8b13789..0000000 --- a/A2A/data/__init__.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/A2A/data/data_loader.py b/A2A/data/data_loader.py deleted file mode 100644 index 8e27765..0000000 --- a/A2A/data/data_loader.py +++ /dev/null @@ -1,326 +0,0 @@ -import os -import warnings - -import numpy as np -import pandas as pd -from sklearn.preprocessing import MaxAbsScaler -from torch.utils.data import Dataset -from utils.tools import StandardScaler - -warnings.filterwarnings('ignore') - - -class Dataset_ETT_hour(Dataset): - def __init__(self, root_path, flag='train', size=None, - features='S', data_path='ETTh1.csv', - target='OT', criterion='Standard', - aug_num=2, jitter=0.2, order_num=1): - # size [label_len, pred_len] - # info - if size is None: - self.label_len = 24 * 4 - self.pred_len = 24 * 4 - else: - self.label_len = size[0] - self.pred_len = size[1] - # init - assert flag in ['train', 'test', 'val'] - type_map = {'train': 0, 'val': 1, 'test': 2} - self.set_type = type_map[flag] - - self.features = features - self.target = target - self.root_path = root_path - self.data_path = data_path - self.criterion = criterion - self.aug_num = aug_num - self.order_num = order_num - self.jitter = jitter - self.feature_num = 1 - self.__read_data__() - - def __read_data__(self): - if str(self.criterion) == 'Standard': - self.scaler = StandardScaler() - else: - self.scaler = MaxAbsScaler() - - self.scaler2 = StandardScaler() - - df_raw = pd.read_csv(os.path.join(self.root_path, - self.data_path)) - - border1s = [0, 12 * 30 * 24 - self.label_len, 12 * 30 * 24 + 4 * 30 * 24 - self.label_len] - border2s = [12 * 30 * 24, 12 * 30 * 24 + 4 * 30 * 24, 12 * 30 * 24 + 8 * 30 * 24] - border1 = border1s[self.set_type] - border2 = border2s[self.set_type] - - cols = list(df_raw.columns) - cols.remove(self.target) - cols.remove('date') - df_raw = df_raw[['date'] + [self.target] + cols] - - if self.features == 'M': - cols_data = df_raw.columns[1:] - df_data = df_raw[cols_data] - elif self.features == 'S': - df_data = df_raw[[self.target]] - - df_value = df_data.values - - # data standardization - train_data = df_value[border1s[0]:border2s[0]] - self.scaler.fit(train_data) - self.scaler2.fit(train_data) - data = self.scaler.transform(df_value) - - self.feature_num = data.shape[-1] - self.data_x = data[border1:border2] - - def __getitem__(self, index): - if self.pred_len: - r_begin = index - r_end = r_begin + self.label_len + self.pred_len - seq_x = self.data_x[r_begin:r_end] - else: - r_begin = index - r_end = r_begin + self.label_len - seq_x = self.data_x[r_begin:r_end] - seq_x = np.expand_dims(seq_x, axis=0) - seq_x = seq_x.repeat(self.aug_num + self.order_num, axis=0) - _, L, D = seq_x.shape - for i in range(self.aug_num - 1): - rand_aug = int(np.rint(np.random.rand(1) * 3)[0]) - if 0 <= rand_aug < 1: - seq_x[i + 1, :, :] *= 1 + (np.random.rand(L, D) - 0.5) * self.jitter - elif 1 <= rand_aug < 2: - seq_x[i + 1, :, :] *= 1 + (np.random.rand(1) - 0.5)[0] * self.jitter - else: - seq_x[i + 1, :, :] += (np.random.rand(L, D) - 0.5) * self.jitter - for i in range(self.order_num): - seq_x[i + self.aug_num, :, :] = seq_x[i + self.aug_num, np.random.permutation(L), :] - return seq_x - - def __len__(self): - return len(self.data_x) - self.label_len - self.pred_len + 1 - - def inverse_transform(self, data): - return self.scaler.inverse_transform(data) - - def standard_transformer(self, data): - return self.scaler2.transform(data) - - def target_feature(self): - return self.feature_num - - -class Dataset_ETT_min(Dataset): - def __init__(self, root_path, flag='train', size=None, - features='S', data_path='ETTm1.csv', - target='OT', criterion='Standard', - aug_num=2, jitter=0.2, order_num=1): - # size [label_len, pred_len] - # info - if size is None: - self.label_len = 24 * 4 - self.pred_len = 24 * 4 - else: - self.label_len = size[0] - self.pred_len = size[1] - # init - assert flag in ['train', 'test', 'val'] - type_map = {'train': 0, 'val': 1, 'test': 2} - self.set_type = type_map[flag] - - self.features = features - self.target = target - self.root_path = root_path - self.data_path = data_path - self.criterion = criterion - self.aug_num = aug_num - self.order_num = order_num - self.jitter = jitter - self.feature_num = 1 - self.__read_data__() - - def __read_data__(self): - if str(self.criterion) == 'Standard': - self.scaler = StandardScaler() - else: - self.scaler = MaxAbsScaler() - - self.scaler2 = StandardScaler() - - df_raw = pd.read_csv(os.path.join(self.root_path, - self.data_path)) - - border1s = [0, 12 * 30 * 24 * 4 - self.label_len, 12 * 30 * 24 * 4 + 4 * 30 * 24 * 4 - self.label_len] - border2s = [12 * 30 * 24 * 4, 12 * 30 * 24 * 4 + 4 * 30 * 24 * 4, 12 * 30 * 24 * 4 + 8 * 30 * 24 * 4] - border1 = border1s[self.set_type] - border2 = border2s[self.set_type] - - cols = list(df_raw.columns) - cols.remove(self.target) - cols.remove('date') - df_raw = df_raw[['date'] + [self.target] + cols] - - if self.features == 'M': - cols_data = df_raw.columns[1:] - df_data = df_raw[cols_data] - elif self.features == 'S': - df_data = df_raw[[self.target]] - - df_value = df_data.values - - # data standardization - train_data = df_value[border1s[0]:border2s[0]] - self.scaler.fit(train_data) - self.scaler2.fit(train_data) - data = self.scaler.transform(df_value) - - self.feature_num = data.shape[-1] - self.data_x = data[border1:border2] - - def __getitem__(self, index): - if self.pred_len: - r_begin = index - r_end = r_begin + self.label_len + self.pred_len - seq_x = self.data_x[r_begin:r_end] - else: - r_begin = index - r_end = r_begin + self.label_len - seq_x = self.data_x[r_begin:r_end] - seq_x = np.expand_dims(seq_x, axis=0) - seq_x = seq_x.repeat(self.aug_num + self.order_num, axis=0) - _, L, D = seq_x.shape - for i in range(self.aug_num - 1): - rand_aug = int(np.rint(np.random.rand(1) * 3)[0]) - if 0 <= rand_aug < 1: - seq_x[i + 1, :, :] *= 1 + (np.random.rand(L, D) - 0.5) * self.jitter - elif 1 <= rand_aug < 2: - seq_x[i + 1, :, :] *= 1 + (np.random.rand(1) - 0.5)[0] * self.jitter - else: - seq_x[i + 1, :, :] += (np.random.rand(L, D) - 0.5) * self.jitter - for i in range(self.order_num): - seq_x[i + self.aug_num, :, :] = seq_x[i + self.aug_num, np.random.permutation(L), :] - return seq_x - - def __len__(self): - return len(self.data_x) - self.label_len - self.pred_len + 1 - - def inverse_transform(self, data): - return self.scaler.inverse_transform(data) - - def standard_transformer(self, data): - return self.scaler2.transform(data) - - def target_feature(self): - return self.feature_num - - -class Dataset_Custom(Dataset): - def __init__(self, root_path, flag='train', size=None, - features='S', data_path='ECL.csv', - target='OT', criterion='Standard', - aug_num=2, jitter=0.2, order_num=1): - # size [label_len, pred_len] - # info - if size is None: - self.label_len = 24 * 4 - self.pred_len = 24 * 4 - else: - self.label_len = size[0] - self.pred_len = size[1] - # init - assert flag in ['train', 'test', 'val'] - type_map = {'train': 0, 'val': 1, 'test': 2} - self.set_type = type_map[flag] - - self.features = features - - self.target = target - self.root_path = root_path - self.data_path = data_path - self.criterion = criterion - self.aug_num = aug_num - self.order_num = order_num - self.jitter = jitter - self.feature_num = 1 - self.__read_data__() - - def __read_data__(self): - if str(self.criterion) == 'Standard': - self.scaler = StandardScaler() - else: - self.scaler = MaxAbsScaler() - - self.scaler2 = StandardScaler() - - df_raw = pd.read_csv(os.path.join(self.root_path, - self.data_path)) - - cols = list(df_raw.columns) - cols.remove(self.target) - cols.remove('date') - df_raw = df_raw[['date'] + [self.target] + cols] - - num_train = int(len(df_raw) * 0.7) - num_test = int(len(df_raw) * 0.2) - num_vali = len(df_raw) - num_train - num_test - border1s = [0, num_train - self.label_len, len(df_raw) - num_test - self.label_len] - border2s = [num_train, num_train + num_vali, len(df_raw)] - border1 = border1s[self.set_type] - border2 = border2s[self.set_type] - - if self.features == 'M': - cols_data = df_raw.columns[1:] - df_data = df_raw[cols_data] - elif self.features == 'S': - df_data = df_raw[[self.target]] - - df_value = df_data.values - - # data standardization - train_data = df_value[border1s[0]:border2s[0]] - self.scaler.fit(train_data) - self.scaler2.fit(train_data) - data = self.scaler.transform(df_value) - - self.feature_num = data.shape[-1] - self.data_x = data[border1:border2] - - def __getitem__(self, index): - if self.pred_len: - r_begin = index - r_end = r_begin + self.label_len + self.pred_len - seq_x = self.data_x[r_begin:r_end] - else: - r_begin = index - r_end = r_begin + self.label_len - seq_x = self.data_x[r_begin:r_end] - seq_x = np.expand_dims(seq_x, axis=0) - seq_x = seq_x.repeat(self.aug_num + self.order_num, axis=0) - _, L, D = seq_x.shape - for i in range(self.aug_num - 1): - rand_aug = int(np.rint(np.random.rand(1) * 3)[0]) - if 0 <= rand_aug < 1: - seq_x[i + 1, :, :] *= 1 + (np.random.rand(L, D) - 0.5) * self.jitter - elif 1 <= rand_aug < 2: - seq_x[i + 1, :, :] *= 1 + (np.random.rand(1) - 0.5)[0] * self.jitter - else: - seq_x[i + 1, :, :] += (np.random.rand(L, D) - 0.5) * self.jitter - for i in range(self.order_num): - seq_x[i + self.aug_num, :, :] = seq_x[i + self.aug_num, np.random.permutation(L), :] - return seq_x - - def __len__(self): - return len(self.data_x) - self.label_len - self.pred_len + 1 - - def inverse_transform(self, data): - return self.scaler.inverse_transform(data) - - def standard_transformer(self, data): - return self.scaler2.transform(data) - - def target_feature(self): - return self.feature_num diff --git a/A2A/exp/__init__.py b/A2A/exp/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/A2A/exp/__pycache__/__init__.cpython-36.pyc b/A2A/exp/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 6d4f81bc7da90b41f0826263a8fa372fcefc95d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmXr!<>flHza)_X2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CuTDU&vsFxJacWU< z%!}@&&t@-sKC9*B;u$X{uZeLF4FxwR^r diff --git a/A2A/exp/__pycache__/__init__.cpython-38.pyc b/A2A/exp/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index b9d8f9d10e0575ca373f72e5c9ebb0df4be71715..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmWIL<>g`kf>ZlT5<&E15P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!HFn^laXkz;&G oYH^8COln0zOniK1US>&ryk0@&Ee@O9{FKt1R6CHa&p^xo0AFtxy#N3J diff --git a/A2A/exp/__pycache__/exp_basic.cpython-36.pyc b/A2A/exp/__pycache__/exp_basic.cpython-36.pyc deleted file mode 100644 index 7f4783d7417b357422bcc67754ac5a74c4cb7aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1517 zcmbtUOK;Oa5Z?7WY5GuGKtMr&5K^S77j9LBO4F!{grcgYMT#n|T<`C(hhBF|+BzMclg9eBao!p4pl4`0ey`{decbVQCZclT?-i`Z`Fl48RGe z3F%Fk_NckHdiECK7Pl`6w}msddoHKDr0M*EH%K=^yj~V4>mbD@fFS6hXK~7{OVYEs z%^hHeyW9hIxz7V&kJoq|*ymHc0UYpYJ_B6ivk+xY*V<<}+X#y|iqJhSWRw<2@dn_W zo)bpS$$*XlnFX3XCIbi98l%nS1f0=s)6-5U`-PrmVRTZ)QZOz~<49=liW}^(j1$g= z85fDRRHj{{HZAQGA~}*!LGqo*I?$ix&DDcXnfx55{oOo_#KDdzKDN3{#Y1r*&TJ0Nl z3`MF0Z%diUCY3eVXpT66DZIsi4UhtRPN+ji4=ZsiS>MFQ8e_U9_Aw|>PpGlnF>Dn} z$~Kxarm1H%S9t@U(>0=kL5*93`n7#bFQ}U0cJ&D*>Acwo?;EQ-rWAS!xp`f^*xK8C z&-OdJosAD|w%OkAwA#BPKPq{+`t@Qow^xW4Tibi9FRq?wJIc$EkB?j1d(DPvl=jO) zuzp_ZX;g+~qGEGv7fNay4gRF@g|@On`yxG!WtM7JWimRJE+nnJqf8D%rQKY{scKr2 z>Z0l25@TiOK#CavLIdj+U8IXvod$IDxKix9-`-8V@AMjdUG>?7`F~e+jrE0MJXGOR z3~WY(jutAxuI={<;df*HC*Yk1 F_FvQ8L6iUh diff --git a/A2A/exp/__pycache__/exp_basic.cpython-38.pyc b/A2A/exp/__pycache__/exp_basic.cpython-38.pyc deleted file mode 100644 index c2a7542398f5e4d61d347bd70ee6cfceccfeaa6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1554 zcmbtUO>YxD5VpOaNt3pMiVp$r%PS$INQeW+3L#1xP$U$gHwuRc$=a^nvejlc*xm|4 zxKMsbbL`LHZ}`fIGdC_U<8A4dYaPuqW6x%u@r>4dsDn|LpXV8Z)CgeUzYZxRSPB0c{*{DTZr#O7cyc?zO;03^XE6DFu& zU&zE0p725YA`l_yKtv)29g3D{gO0?C=zxwzSFD0=i8Wwax2^vB8Gn}OEKM=|*+3gM zMYcioeSigB5Kb24m@WZ11It^IV}C&o*b;q#AR}@@hrQ7HiQ3n8jVI~5DpQgRd6=cr zhNrs2cdINHd|C>bTV_fdIJ3vBuVuccuyQ9vt$_M@=lSNFtw&qjNNpayk?&_Hd>0db zIQw8@&a)yjoJW{w2ta5^+jM^A&%Pd>eUegipANK9+y-MX4EYT891(@v?ooSnSen6f zmdmLuj1+yPN_9dN_S|JwLkFkGjfTd=3H9mxT7$i@*$Ww9i31Rq!CNq(l;nV_|D9&~ zw(*?hAJHOoR$#(|NYKZ`#K$ecj@z|=Ntg5!H7mk9UpbwFRE9aA-HS z$2(j6^atLH4}x->yxRFW0{H5k^;8JzFZ6h7YB zdku!h9?&)HwekKI$y9P~+Z-Q+Do4A+`MWB~Yme$e2zSR6o&a?l;SK`UNBxU{PelXV zt;F`=G1995F^z-Rk5^(3e+qrQP+bS5ZUWe#sHX6ouwrJza`!-{#(mR>=_oL;jUU&E OKEX5O-W-TdWA8Wd#z9yB diff --git a/A2A/exp/__pycache__/exp_model.cpython-36.pyc b/A2A/exp/__pycache__/exp_model.cpython-36.pyc deleted file mode 100644 index e3f55ab796fcb0d627a20e633bf44706e3d1efea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10530 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 KNz&9T{l5VyUgbvs diff --git a/A2A/exp/exp_basic.py b/A2A/exp/exp_basic.py deleted file mode 100644 index b0090f8..0000000 --- a/A2A/exp/exp_basic.py +++ /dev/null @@ -1,37 +0,0 @@ -import os -import torch -import numpy as np - - -class Exp_Basic(object): - def __init__(self, args): - self.args = args - self.device = self._acquire_device() - self.model = self._build_model().to(self.device) - - def _build_model(self): - raise NotImplementedError - return None - - def _acquire_device(self): - if self.args.use_gpu: - os.environ["CUDA_VISIBLE_DEVICES"] = str( - self.args.gpu) if not self.args.use_multi_gpu else self.args.devices - device = torch.device('cuda:{}'.format(self.args.gpu)) - print('Use GPU: cuda:{}'.format(self.args.gpu)) - else: - device = torch.device('cpu') - print('Use CPU') - return device - - def _get_data(self): - pass - - def vali(self): - pass - - def train(self): - pass - - def test(self): - pass diff --git a/A2A/exp/exp_model.py b/A2A/exp/exp_model.py deleted file mode 100644 index 85fe146..0000000 --- a/A2A/exp/exp_model.py +++ /dev/null @@ -1,347 +0,0 @@ -from data.data_loader import Dataset_ETT_hour, Dataset_ETT_min, Dataset_Custom -from exp.exp_basic import Exp_Basic -from A2A.model import A2A - -from utils.tools import EarlyStopping, adjust_learning_rate, loss_process, Cost_loss -from utils.metrics import metric - -import numpy as np - -import torch -import torch.nn as nn -from torch import optim -from torch.utils.data import DataLoader -import os -import time - -import warnings - -warnings.filterwarnings('ignore') - - -class Exp_Model(Exp_Basic): - def __init__(self, args): - super(Exp_Model, self).__init__(args) - - def _build_model(self): - model_dict = { - 'A2A': A2A - } - if self.args.model == 'A2A': - model = model_dict[self.args.model]( - self.args.label_len, - self.args.pred_list, - self.args.enc_in, - self.args.d_model, - self.args.repr_dim, - self.args.activation, - self.args.dropout, - self.args.kernel, - self.args.attn_nums, - self.args.pyramid - ).float() - if self.args.use_multi_gpu and self.args.use_gpu: - model = nn.DataParallel(model, device_ids=self.args.device_ids) - total_num = sum(p.numel() for p in model.parameters()) - print("Total parameters: {0}MB".format(total_num / 1024 / 1024)) - return model - - def _get_data(self, flag, forecasting_form=None, pred_len=0): - args = self.args - data_set = None - - data_dict = { - 'ETTh1': Dataset_ETT_hour, - 'ETTm2': Dataset_ETT_min, - 'ECL': Dataset_Custom, - 'Exchange': Dataset_Custom, - 'Traffic': Dataset_Custom, - 'weather': Dataset_Custom - } - Data = data_dict[self.args.data] - - if flag == 'test': - shuffle_flag = False - drop_last = True - batch_size = args.batch_size - else: - shuffle_flag = True - drop_last = True - batch_size = args.batch_size - data_set = Data( - root_path=args.root_path, - data_path=args.data_path, - flag=flag, - size=[args.label_len, pred_len], - features=args.features, - target=args.target, - criterion=args.criterion, - aug_num=args.aug_num, - jitter=args.jitter, - order_num=args.order_num - ) - print(flag, len(data_set)) - data_loader = DataLoader( - data_set, - batch_size=batch_size if forecasting_form == 'MLP' else self.args.cost_batch_size, - shuffle=shuffle_flag, - num_workers=args.num_workers, - drop_last=drop_last) - - return data_set, data_loader - - def _select_optimizer(self): - model_optim = optim.Adam(self.model.parameters(), lr=self.args.learning_rate) - return model_optim - - def _select_criterion(self): - criterion = nn.MSELoss() - return criterion - - def vali(self, vali_data=None, vali_loader=None, criterion=None, index=0): - self.model.eval() - total_loss = [] - with torch.no_grad(): - for i, batch_x in enumerate(vali_loader): - pred, true = self._process_one_batch( - batch_x, index=index) - loss = loss_process(self.args, pred, true, criterion, flag=1) - total_loss.append(loss) - - total_loss = np.average(total_loss) - self.model.train() - return total_loss - - def train(self, setting): - # Contrastive learning - train_data, train_loader = self._get_data(flag='train') - - path = os.path.join(self.args.checkpoints, setting) - if not os.path.exists(path): - os.makedirs(path) - - time_now = time.time() - - train_steps = len(train_loader) - model_optim = self._select_optimizer() - - for epoch in range(self.args.cost_epochs): - - if epoch > 0: - train_data, train_loader = self._get_data(flag='train') - iter_count = 0 - - self.model.train() - epoch_time = time.time() - for i, batch_x in enumerate(train_loader): - B, A, L, D = batch_x.shape - batch_x = batch_x.contiguous().view(B * A, L, D) - model_optim.zero_grad() - iter_count += 1 - hidden_features = self._process_one_batch_cons( - batch_x) - - loss = Cost_loss(hidden_features, aug_num=self.args.aug_num, - order_num=self.args.order_num, instance_loss=self.args.instance_loss) - - loss.backward(torch.ones_like(loss)) - model_optim.step() - - if (i + 1) % 100 == 0: - print("\titers: {0}, epoch: {1} | loss: {2:.7f}".format(i + 1, epoch + 1, - torch.mean(loss).item())) - speed = (time.time() - time_now) / iter_count - left_time = speed * ((self.args.cost_epochs - epoch) * train_steps - i) - print('\tspeed: {:.4f}s/iter; left time: {:.4f}s'.format(speed, left_time)) - iter_count = 0 - time_now = time.time() - torch.save(self.model.state_dict(), path + '/' + 'checkpoint.pth') - print("Stage: COST |Epoch: {} cost time: {}".format(epoch + 1, time.time() - epoch_time)) - - best_model_path = path + '/' + 'checkpoint.pth' - self.model.load_state_dict(torch.load(best_model_path)) - - # MLP - if self.args.regressor == 'MLP': - lr = self.args.learning_rate - for lens in self.args.pred_list: - self.args.learning_rate = lr - train_data, train_loader = self._get_data(flag='train', forecasting_form='MLP', pred_len=lens) - vali_data, vali_loader = self._get_data(flag='val', forecasting_form='MLP', pred_len=lens) - test_data, test_loader = self._get_data(flag='test', forecasting_form='MLP', pred_len=lens) - - time_now = time.time() - train_steps = len(train_loader) - - early_stopping = EarlyStopping(patience=self.args.patience, verbose=True) - criterion = self._select_criterion() - for epoch in range(self.args.train_epochs): - iter_count = 0 - self.model.train() - epoch_time = time.time() - for i, batch_x in enumerate(train_loader): - model_optim.zero_grad() - iter_count += 1 - pred, true = self._process_one_batch( - batch_x, index=self.args.pred_list.index(lens)) - loss = loss_process(self.args, pred, true, criterion, flag=0, dataset=train_data) - - loss.backward(torch.ones_like(loss)) - model_optim.step() - - if (i + 1) % 100 == 0: - print("\titers: {0}, epoch: {1} | loss: {2:.7f}".format(i + 1, epoch + 1, - torch.mean(loss).item())) - speed = (time.time() - time_now) / iter_count - left_time = speed * ((self.args.train_epochs - epoch) * train_steps - i) - print('\tspeed: {:.4f}s/iter; left time: {:.4f}s'.format(speed, left_time)) - iter_count = 0 - time_now = time.time() - - print("Pred:{}|Epoch: {} cost time: {}".format(lens, epoch + 1, time.time() - epoch_time)) - - vali_loss = self.vali(vali_data, vali_loader, criterion, - index=self.args.pred_list.index(lens)) - test_loss = self.vali(test_data, test_loader, criterion, - index=self.args.pred_list.index(lens)) - - print("Pred_len: {0} Stage: MLP| Epoch: {1}, Steps: {2} | Vali Loss: {3:.7f} Test Loss: {4:.7f}". - format(lens, epoch + 1, train_steps, vali_loss, test_loss)) - early_stopping(vali_loss, self.model, path) - if early_stopping.early_stop: - print("Early stopping") - break - - adjust_learning_rate(model_optim, epoch + 1, self.args) - - best_model_path = path + '/' + 'checkpoint.pth' - self.model.load_state_dict(torch.load(best_model_path)) - else: - pass - return self.model - - def test(self, setting, load=False, write_loss=True, save_loss=True, return_loss=False): - if load: - path = os.path.join(self.args.checkpoints, setting) - best_model_path = path + '/' + 'checkpoint.pth' - self.model.load_state_dict(torch.load(best_model_path)) - self.model.eval() - - mse_list = [] - mae_list = [] - for index, lens in enumerate(self.args.pred_list): - test_data, test_loader = self._get_data(flag='test', forecasting_form='MLP', pred_len=lens) - criterion = self._select_criterion() - mse = 0 - mae = 0 - if save_loss: - preds = [] - trues = [] - with torch.no_grad(): - for i, batch_x in enumerate(test_loader): - pred, true = self._process_one_batch( - batch_x, index=self.args.pred_list.index(lens)) - if self.args.test_inverse: - pred = loss_process(self.args, pred, true, criterion, flag=2, dataset=test_data) - pred = pred.reshape(self.args.batch_size, lens, self.args.c_out) - true = true.reshape(-1, pred.shape[-1]) - true = test_data.inverse_transform(true.detach().cpu().numpy()) - true = test_data.standard_transformer(true) - true = true.reshape(self.args.batch_size, lens, self.args.c_out) - else: - pred = loss_process(self.args, pred, true, criterion, flag=2) - pred = pred.detach().cpu().numpy() - true = true.detach().cpu().numpy() - preds.append(pred) - trues.append(true) - preds = np.array(preds) - trues = np.array(trues) - print('test shape:', preds.shape, trues.shape) - preds = preds.reshape(-1, preds.shape[-2], preds.shape[-1]) - trues = trues.reshape(-1, trues.shape[-2], trues.shape[-1]) - print('test shape:', preds.shape, trues.shape) - - mae, mse = metric(preds, trues) - print('|{}_{}|pred_len{}|mse:{}, mae:{}'. - format(self.args.data, self.args.features, lens, mse, mae) + '\n') - # result save - folder_path = './results/' + setting + '/' - if not os.path.exists(folder_path): - os.makedirs(folder_path) - np.save(folder_path + f'metrics_{lens}.npy', np.array([mae, mse])) - np.save(folder_path + f'pred_{lens}.npy', preds) - np.save(folder_path + f'true_{lens}.npy', trues) - else: - mse_list = [] - mae_list = [] - infer_first = 0 - infer_second = 0 - with torch.no_grad(): - for i, batch_x in enumerate(test_loader): - pred, true = self._process_one_batch( - batch_x, index=self.args.pred_list.index(lens)) - if self.args.test_inverse: - pred = loss_process(self.args, pred, true, criterion, flag=2, dataset=test_data) - pred = pred.reshape(self.args.batch_size, lens, self.args.c_out) - true = true.reshape(-1, pred.shape[-1]) - true = test_data.inverse_transform(true.detach().cpu().numpy()) - true = test_data.standard_transformer(true) - true = true.reshape(self.args.batch_size, lens, self.args.c_out) - else: - pred = loss_process(self.args, pred, true, criterion, flag=2) - pred = pred.detach().cpu().numpy() - true = true.detach().cpu().numpy() - t_mae, t_mse = metric(pred, true) - mse_list.append(t_mse) - mae_list.append(t_mae) - mse = np.average(mse_list) - mae = np.average(mae_list) - - print('|{}_{}|pred_len{}|mse:{}, mae:{}'. - format(self.args.data, self.args.features, lens, mse, mae) + '\n') - - if write_loss: - path = './result.log' - with open(path, "a") as f: - f.write('inference time:{},{}'.format(infer_first, infer_second) + '\n') - f.write(time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())) - f.write('|{}_{}|pred_len{}|mse: {} , mae: {}'. - format(self.args.data, self.args.features, lens, mse, - mae) + '\n') - f.flush() - f.close() - else: - pass - - mse_list.append(mse) - mae_list.append(mae) - - if not save_loss: - dir_path = os.path.join(self.args.checkpoints, setting) - check_path = dir_path + '/' + 'checkpoint.pth' - if os.path.exists(check_path): - os.remove(check_path) - os.removedirs(dir_path) - if return_loss: - return mse_list, mae_list - else: - return - - def _process_one_batch(self, batch_x, index=0): - t = time.time() - batch_x = batch_x.float().to(self.device) - - input_seq = batch_x[:, :self.args.label_len, :] - outputs = self.model(input_seq, flag='MLP', index=index) - batch_y = batch_x[:, -self.args.pred_list[index]:, :].to(self.device) - - return outputs, batch_y - - def _process_one_batch_cons(self, batch_x, batch_y=None): - batch_x = batch_x.float().to(self.device) - if batch_y is None: - outputs = self.model(batch_x, flag='first stage') - else: - batch_y = batch_y.float().to(self.device) - outputs = self.model(batch_x, batch_y, flag='first stage') - return outputs diff --git a/A2A/img/AL.png b/A2A/img/AL.png deleted file mode 100644 index e024c0dac5ab0397d69567488548f4c5bb46142c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42247 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 V#^l}?$#J-TUCnbERcba7{{_5a%fJ8t diff --git a/A2A/img/Multivariate.png b/A2A/img/Multivariate.png deleted file mode 100644 index fcd1c57954a70dce8c8fd63a7739a3eb4fb4535b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215086 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 z 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 training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>'.format(setting)) - try: - exp.train(setting) - except KeyboardInterrupt: - print('-' * 99) - print('Exiting from training early') - - print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting)) - exp.test(setting, load=True, write_loss=True, save_loss=args.save_loss) - - torch.cuda.empty_cache() - args.learning_rate = lr diff --git a/A2A/requirements.txt b/A2A/requirements.txt deleted file mode 100644 index cdbbbdd..0000000 --- a/A2A/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -matplotlib == 3.1.1 -numpy == 1.19.4 -pandas == 0.25.1 -scikit_learn == 0.21.3 -torch == 1.11.0 \ No newline at end of file diff --git a/A2A/result.log b/A2A/result.log deleted file mode 100644 index e69de29..0000000 diff --git a/A2A/scripts/A2A.sh b/A2A/scripts/A2A.sh deleted file mode 100644 index 84d1ff8..0000000 --- a/A2A/scripts/A2A.sh +++ /dev/null @@ -1,31 +0,0 @@ -python -u main.py --model A2A --data ETTh1 --features S --label_len 168 --pred_list 96 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.05 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --data ETTh1 --features S --label_len 168 --pred_list 192,336,720 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --data ETTh1 --features M --label_len 168 --pred_list 96 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.05 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 --instance_loss - -python -u main.py --model A2A --data ETTh1 --features M --label_len 168 --pred_list 192,336,720 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 --instance_loss - -python -u main.py --model A2A --data ETTm2 --features S --label_len 168 --pred_list 96 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.05 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --data ETTm2 --features S --label_len 168 --pred_list 192,336,720 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --data ETTm2 --features M --label_len 168 --pred_list 96 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.05 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 --instance_loss - -python -u main.py --model A2A --data ETTm2 --features M --label_len 168 --pred_list 192,336,720 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --cost_epochs 3 --cost_grow_epochs 0 --itr 5 --instance_loss - -python -u main.py --model A2A --root_path ./data/ECL/ --data ECL --features S --label_len 672 --pred_list 96,192,336,720 --d_model 60 --repr_dim 640 --kernel 3 --attn_nums 4 --pyramid 4 --criterion Standard --dropout 0.05 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Tanh --target MT_321 --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --root_path ./data/ECL/ --data ECL --features M --label_len 672 --pred_list 96,192,336,720 --d_model 60 --repr_dim 640 --kernel 3 --attn_nums 4 --pyramid 4 --criterion Standard --dropout 0.05 --batch_size 1 --cost_batch_size 1 --order_num 1 --aug_num 3 --jitter 0.1 --activation Tanh --target MT_321 --cost_epochs 3 --cost_grow_epochs 0 --instance_loss --itr 5 - -python -u main.py --model A2A --root_path ./data/Traffic/ --data Traffic --features S --label_len 672 --pred_list 96,192,336,720 --d_model 60 --repr_dim 640 --kernel 3 --attn_nums 4 --pyramid 4 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --target Sensor_861 --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --root_path ./data/Traffic/ --data Traffic --features M --label_len 672 --pred_list 96,192,336,720 --d_model 60 --repr_dim 640 --kernel 3 --attn_nums 4 --pyramid 4 --criterion Standard --dropout 0.05 --batch_size 1 --cost_batch_size 1 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --target Sensor_861 --cost_epochs 3 --cost_grow_epochs 0 --instance_loss --itr 5 - -python -u main.py --model A2A --data Exchange --root_path ./data/Exchange/ --features S --label_len 30 --pred_list 96,192,336,720 --d_model 32 --repr_dim 640 --kernel 3 --attn_nums 1 --pyramid 1 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --target Singapore --cost_epochs 1 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --data Exchange --root_path ./data/Exchange/ --features M --label_len 30 --pred_list 96,192,336,720 --d_model 32 --repr_dim 640 --kernel 3 --attn_nums 1 --pyramid 1 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Gelu --target Singapore --cost_epochs 1 --cost_grow_epochs 0 --itr 5 --instance_loss - -python -u main.py --model A2A --data weather --root_path ./data/weather/ --features S --label_len 96 --pred_list 96,192,336,720 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Tanh --cost_epochs 3 --cost_grow_epochs 0 --itr 5 - -python -u main.py --model A2A --data weather --root_path ./data/weather/ --features M --label_len 96 --pred_list 96,192,336,720 --d_model 48 --repr_dim 640 --kernel 3 --attn_nums 3 --pyramid 3 --criterion Standard --dropout 0.1 --batch_size 32 --cost_batch_size 32 --order_num 1 --aug_num 3 --jitter 0.1 --activation Tanh --cost_epochs 3 --cost_grow_epochs 0 --itr 5 --instance_loss diff --git a/A2A/utils/__init__.py b/A2A/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/A2A/utils/__pycache__/__init__.cpython-36.pyc b/A2A/utils/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 665fb4983aa59258a0bf5a01706b55e526827339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmXr!<>flHza)_X2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CuP#8YvsFxJacWU< z%!}@&&t@-sKC9*B;u$X{uZeLg`kf>ZlT5<&E15P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!HVn^laXkz;&G qYH^8COle7GPH{|pd}dx|NqoFsLFFwDo80`A(wtN~kiO4A%m4tHZ5X2f diff --git a/A2A/utils/__pycache__/masking.cpython-36.pyc b/A2A/utils/__pycache__/masking.cpython-36.pyc deleted file mode 100644 index ada45409978db9a118de96acff5d2fcd06fa17df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2083 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 bl?h%Y=Q=x!U(@BYlxe^N8K|I)arOQM6MEWo diff --git a/A2A/utils/__pycache__/metrics.cpython-38.pyc b/A2A/utils/__pycache__/metrics.cpython-38.pyc deleted file mode 100644 index a62cbeac1a1f35a5fe98cf91af0a83bdb2cb1468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567 zcmZWnJxc>Y5S{(F%NhxY3R+m%9f*ach!`YxrU^D7O}t$(kV}r;y&`Z{`a?{aKaoFS zx2;wFf|WBH15pQN=Iya>-kaqfTCFBvEI&?j#sEI)upJx^H<<1Wiw4cc&}XspKG$4} zH|Ps3b%I^$R5!3En)M)4D`Y@7rwN-NoMPT$x*(%s(7tF7DnA;#L1DZdBOmrBRu*4Z;db5XI17aptdybiF+h9GL{xWKC}O5M^md tCRI_+;vOOKQ=31>CyDdpovm@Sij9k@t759FvAM<{103lqri7A8egiAJUbz4O diff --git a/A2A/utils/__pycache__/tools.cpython-36.pyc b/A2A/utils/__pycache__/tools.cpython-36.pyc deleted file mode 100644 index 0b68bbdee23710c68eea60556aba59ffb2e86a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5315 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 diff --git a/A2A/utils/__pycache__/tools.cpython-38.pyc b/A2A/utils/__pycache__/tools.cpython-38.pyc deleted file mode 100644 index befad2653205e1516124ed066772441f7b0b1f41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5318 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 uL`i^(Bb4Vv?A%jE~l7yb)4B>>t0 diff --git a/A2A/utils/masking.py b/A2A/utils/masking.py deleted file mode 100644 index 6e6946f..0000000 --- a/A2A/utils/masking.py +++ /dev/null @@ -1,38 +0,0 @@ -import torch -import math -import numpy as np - -class TriangularCausalMask(): - def __init__(self, B, L, device="cpu"): - mask_shape = [B, 1, L, L] - with torch.no_grad(): - self._mask = torch.triu(torch.ones(mask_shape, dtype=torch.bool), diagonal=1).to(device) - - @property - def mask(self): - return self._mask - -class ProbMask(): - def __init__(self, B, H, L, index, scores, device="cpu"): - _mask = torch.ones(L, scores.shape[-1], dtype=torch.bool).to(device).triu(1) - _mask_ex = _mask[None, None, :].expand(B, H, L, scores.shape[-1]) - indicator = _mask_ex[torch.arange(B)[:, None, None], - torch.arange(H)[None, :, None], - index, :].to(device) - self._mask = indicator.view(scores.shape).to(device) - - @property - def mask(self): - return self._mask - -class LocalMask(): - def __init__(self, B, L,S,device="cpu"): - mask_shape = [B, 1, L, S] - with torch.no_grad(): - self.len = math.ceil(np.log2(L)) - self._mask1 = torch.triu(torch.ones(mask_shape, dtype=torch.bool), diagonal=1).to(device) - self._mask2 = ~torch.triu(torch.ones(mask_shape,dtype=torch.bool),diagonal=-self.len).to(device) - self._mask = self._mask1+self._mask2 - @property - def mask(self): - return self._mask diff --git a/A2A/utils/metrics.py b/A2A/utils/metrics.py deleted file mode 100644 index bc8062d..0000000 --- a/A2A/utils/metrics.py +++ /dev/null @@ -1,18 +0,0 @@ -import numpy as np -import torch - - -def MAE(pred, true): - return np.mean(np.abs(pred - true)) - - -def MSE(pred, true): - return np.mean((pred - true) ** 2) - - -def metric(pred, true): - mae = MAE(pred, true) - mse = MSE(pred, true) - - return mae, mse - diff --git a/A2A/utils/tools.py b/A2A/utils/tools.py deleted file mode 100644 index 92c3502..0000000 --- a/A2A/utils/tools.py +++ /dev/null @@ -1,159 +0,0 @@ -import numpy as np -import torch -import torch.nn.functional as F - - -def adjust_learning_rate(optimizer, epoch, args): - if args.lradj == 'type1': - args.learning_rate = args.learning_rate * 0.5 - lr_adjust = {epoch: args.learning_rate} - elif args.lradj == 'type2': - lr_adjust = { - 2: 5e-5, 4: 1e-5, 6: 5e-6, 8: 1e-6, - 10: 5e-7, 15: 1e-7, 20: 5e-8 - } - if epoch in lr_adjust.keys(): - lr = lr_adjust[epoch] - for param_group in optimizer.param_groups: - param_group['lr'] = lr - print('Updating learning rate to {}'.format(lr)) - - -class EarlyStopping: - def __init__(self, patience=7, verbose=False, delta=0): - self.patience = patience - self.verbose = verbose - self.counter = 0 - self.best_score = None - self.early_stop = False - self.val_loss_min = np.Inf - self.delta = delta - - def __call__(self, val_loss, model, path): - score = -val_loss - if self.best_score is None: - self.best_score = score - self.save_checkpoint(val_loss, model, path) - elif score < self.best_score + self.delta: - self.counter += 1 - print(f'EarlyStopping counter: {self.counter} out of {self.patience}') - if self.counter >= self.patience: - self.early_stop = True - else: - self.best_score = score - self.save_checkpoint(val_loss, model, path) - self.counter = 0 - - def save_checkpoint(self, val_loss, model, path): - if self.verbose: - print(f'Validation loss decreased ({self.val_loss_min:.6f} --> {val_loss:.6f}). Saving model ...') - torch.save(model.state_dict(), path + '/' + 'checkpoint.pth') - self.val_loss_min = val_loss - - -class dotdict(dict): - """dot.notation access to dictionary attributes""" - __getattr__ = dict.get - __setattr__ = dict.__setitem__ - __delattr__ = dict.__delitem__ - - -class StandardScaler(): - def __init__(self): - self.mean = 0. - self.std = 1. - - def fit(self, data): - self.mean = data.mean(0) - self.std = data.std(0) - - def transform(self, data): - mean = torch.from_numpy(self.mean).type_as(data).to(data.device) if torch.is_tensor(data) else self.mean - std = torch.from_numpy(self.std).type_as(data).to(data.device) if torch.is_tensor(data) else self.std - return (data - mean) / std - - def inverse_transform(self, data): - mean = torch.from_numpy(self.mean).type_as(data).to(data.device) if torch.is_tensor(data) else self.mean - std = torch.from_numpy(self.std).type_as(data).to(data.device) if torch.is_tensor(data) else self.std - return (data * std) + mean - - -def loss_process(args, pred, true, criterion=None, flag=0, dataset=None): - if flag == 2: - if dataset: - weight_pred = pred.reshape(-1, pred.shape[-1]) - weight_pred = dataset.inverse_transform(weight_pred.detach().cpu().numpy()) - weight_pred = dataset.standard_transformer(weight_pred) - return weight_pred - else: - return pred - - if flag == 0: - if args.area_loss: - thres = 0.5 * args.jitter # Area Loss - if args.aug == 'Scaling': - true_up = true * (1 + thres) - true_down = true * (1 - thres) - else: # 'Jittering' - true_up = true + thres - true_down = true - thres - up_mat = torch.ge(true_up, pred).int() - down_mat = torch.ge(pred, true_down).int() - total_mat = up_mat + down_mat - pred = torch.where(total_mat == 2, true, pred) - loss1 = criterion(pred, true) - loss2 = criterion(pred, true_down) - loss3 = criterion(pred, true_up) - A_mat = torch.ge(loss1, loss2).int() - loss = torch.where(A_mat > 0, loss2, loss1) - B_mat = torch.ge(loss, loss3).int() - loss = torch.where(B_mat > 0, loss3, loss) - else: - loss = criterion(pred, true) - return loss - else: - loss2 = criterion(pred, true) - return loss2.detach().cpu().numpy() - - -def Cost_loss(z_list, aug_num=3, order_num=1, instance_loss=True): - assert (len(z_list) > 0) - assert (z_list[0] is not None) - loss = torch.zeros(len(z_list)).to(z_list[0].device) - alpha = 0.5 if instance_loss else 1 - for index, z in enumerate(z_list): - B, V, D = z.shape - z_ins = z.clone() - # temporal loss - z = z.contiguous().permute(1, 0, 2) # B, V, D --> V, B, D - z = sim(z) # [V, B, D] * [V, D, B] --> [V, B, B] - ins = torch.split(z, (aug_num + order_num), 1) - assert (B % (aug_num + order_num) == 0) - for i in range(B // (aug_num + order_num)): - initial_ins = ins[i][:, 0, :] # V, B - soft_ins = F.softmax(initial_ins, dim=-1) # loss function - logs = torch.split(soft_ins, aug_num + order_num, 1) - sum_ins = torch.sum(logs[i][:, :aug_num], dim=1) - log_ins = -torch.log(sum_ins) - loss[index] += alpha * torch.mean(log_ins) / (B // (aug_num + order_num)) - # instance loss - if instance_loss: - z_ins = z_ins.contiguous() # B, V, D - z_ins = sim(z_ins) # [B, V, D] * [B, D, V] --> [B, V, V] - ins = torch.split(z_ins, (aug_num + order_num), 0) - for i in range(B // (aug_num + order_num)): - initial_ins = ins[i][0, :, :] # V, V - soft_ins = F.softmax(initial_ins, dim=-1) # loss function - diag_ins = torch.diag(soft_ins) - log_ins = torch.mean(-torch.log(diag_ins)) - loss[index] += alpha * log_ins / (B // (aug_num + order_num)) - return torch.mean(loss) - - -def sim(z): - # z1-->inner product, z2-->norm - z1 = torch.matmul(z, z.transpose(1, 2)) - z_sum = torch.sum(z ** 2, dim=-1, keepdim=True) - z_sum = torch.sqrt(z_sum) - z2 = torch.matmul(z_sum, z_sum.transpose(1, 2)) - return z1 / z2

7E2xt>1h|aVlHqyWh~0QcZP9Ret?0{hcLL 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 H^LPIT<3+r| diff --git a/A2A/img/Temporal_ELAN.png b/A2A/img/Temporal_ELAN.png deleted file mode 100644 index 762f98eb7e9c39ba8ce51a6a35fbeac048dd9552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73140 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