From 76b9aaf3f7a148ef7dc9fe151b5dc297d4b983eb Mon Sep 17 00:00:00 2001 From: xmu-xiaoma666 <775629340@qq.com> Date: Fri, 29 Oct 2021 16:41:44 +0800 Subject: [PATCH] UFOAttention --- README.md | 32 +++++++ main.py | 10 +-- model/attention/UFOAttention.py | 79 ++++++++++++++++++ .../__pycache__/UFOAttention.cpython-36.pyc | Bin 0 -> 2587 bytes model/img/UFO.png | Bin 0 -> 56897 bytes 5 files changed, 116 insertions(+), 5 deletions(-) create mode 100644 model/attention/UFOAttention.py create mode 100644 model/attention/__pycache__/UFOAttention.cpython-36.pyc create mode 100644 model/img/UFO.png diff --git a/README.md b/README.md index 0c86ccd..4db5bdd 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ Hello,大家好,我是小马🚀🚀🚀 - [29. ParNet Attention Usage](#29-ParNet-Attention-Usage) + - [30. UFO Attention Usage](#30-UFO-Attention-Usage) - [Backbone Series](#Backbone-series) @@ -236,6 +237,8 @@ Hello,大家好,我是小马🚀🚀🚀 - Pytorch implementation of [Non-deep Networks---ArXiv 2021.10.20](https://arxiv.org/abs/2110.07641) +- Pytorch implementation of [UFO-ViT: High Performance Linear Vision Transformer without Softmax---ArXiv 2021.09.29](https://arxiv.org/abs/2110.07641) + *** ### 1. External Attention Usage @@ -1011,6 +1014,35 @@ if __name__ == '__main__': *** +### 30. UFO Attention Usage + +#### 30.1. Paper + +[UFO-ViT: High Performance Linear Vision Transformer without Softmax---ArXiv 2021.09.29](https://arxiv.org/abs/2110.07641) + + +#### 30.2. Overview + +![](./model/img/UFO.png) + +#### 30.3. Usage Code + +```python +from model.attention.UFOAttention import * +import torch +from torch import nn +from torch.nn import functional as F + +if __name__ == '__main__': + input=torch.randn(50,49,512) + ufo = UFOAttention(d_model=512, d_k=512, d_v=512, h=8) + output=ufo(input,input,input) + print(output.shape) #[50, 49, 512] + +``` + +*** + # Backbone Series diff --git a/main.py b/main.py index af98316..127bcb2 100644 --- a/main.py +++ b/main.py @@ -1,10 +1,10 @@ -from model.attention.ParNetAttention import * +from model.attention.UFOAttention import * import torch from torch import nn from torch.nn import functional as F if __name__ == '__main__': - input=torch.randn(50,512,7,7) - pna = ParNetAttention(channel=512) - output=pna(input) - print(output.shape) #50,512,7,7 \ No newline at end of file + input=torch.randn(50,49,512) + ufo = UFOAttention(d_model=512, d_k=512, d_v=512, h=8) + output=ufo(input,input,input) + print(output.shape) #[50, 49, 512] \ No newline at end of file diff --git a/model/attention/UFOAttention.py b/model/attention/UFOAttention.py new file mode 100644 index 0000000..7f46aeb --- /dev/null +++ b/model/attention/UFOAttention.py @@ -0,0 +1,79 @@ +import numpy as np +import torch +from torch import nn +from torch.functional import norm +from torch.nn import init + + +def XNorm(x,gamma): + norm_tensor=torch.norm(x,2,-1,True) + return x*gamma/norm_tensor + + +class UFOAttention(nn.Module): + ''' + Scaled dot-product attention + ''' + + def __init__(self, d_model, d_k, d_v, h,dropout=.1): + ''' + :param d_model: Output dimensionality of the model + :param d_k: Dimensionality of queries and keys + :param d_v: Dimensionality of values + :param h: Number of heads + ''' + super(UFOAttention, self).__init__() + self.fc_q = nn.Linear(d_model, h * d_k) + self.fc_k = nn.Linear(d_model, h * d_k) + self.fc_v = nn.Linear(d_model, h * d_v) + self.fc_o = nn.Linear(h * d_v, d_model) + self.dropout=nn.Dropout(dropout) + self.gamma=nn.Parameter(torch.randn((1,h,1,1))) + + self.d_model = d_model + self.d_k = d_k + self.d_v = d_v + self.h = h + + self.init_weights() + + + def init_weights(self): + for m in self.modules(): + if isinstance(m, nn.Conv2d): + init.kaiming_normal_(m.weight, mode='fan_out') + if m.bias is not None: + init.constant_(m.bias, 0) + elif isinstance(m, nn.BatchNorm2d): + init.constant_(m.weight, 1) + init.constant_(m.bias, 0) + elif isinstance(m, nn.Linear): + init.normal_(m.weight, std=0.001) + if m.bias is not None: + init.constant_(m.bias, 0) + + def forward(self, queries, keys, values): + b_s, nq = queries.shape[:2] + nk = keys.shape[1] + + q = self.fc_q(queries).view(b_s, nq, self.h, self.d_k).permute(0, 2, 1, 3) # (b_s, h, nq, d_k) + k = self.fc_k(keys).view(b_s, nk, self.h, self.d_k).permute(0, 2, 3, 1) # (b_s, h, d_k, nk) + v = self.fc_v(values).view(b_s, nk, self.h, self.d_v).permute(0, 2, 1, 3) # (b_s, h, nk, d_v) + + kv=torch.matmul(k, v) #bs,h,c,c + kv_norm=XNorm(kv,self.gamma) #bs,h,c,c + q_norm=XNorm(q,self.gamma) #bs,h,n,c + out=torch.matmul(q_norm,kv_norm).permute(0, 2, 1, 3).contiguous().view(b_s, nq, self.h * self.d_v) + out = self.fc_o(out) # (b_s, nq, d_model) + + + return out + + +if __name__ == '__main__': + input=torch.randn(50,49,512) + ufo = UFOAttention(d_model=512, d_k=512, d_v=512, h=8) + output=ufo(input,input,input) + print(output.shape) + + \ No newline at end of file diff --git a/model/attention/__pycache__/UFOAttention.cpython-36.pyc b/model/attention/__pycache__/UFOAttention.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a3231d1afaba8e9acfb89d2a2abd04c2630ea09 GIT binary patch literal 2587 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 GhWr