463465810cz commited on
Commit ·
ffe798e
1
Parent(s): 2d1ec66
Update dat_arch.py
Browse filesFormer-commit-id: bbd7e6195142701c1111499107fd8c1dac0337f7
basicsr/archs/dat_arch.py
CHANGED
|
@@ -246,8 +246,9 @@ class Spatial_Attention(nn.Module):
|
|
| 246 |
return x
|
| 247 |
|
| 248 |
|
| 249 |
-
class
|
| 250 |
-
|
|
|
|
| 251 |
Args:
|
| 252 |
dim (int): Number of input channels.
|
| 253 |
num_heads (int): Number of attention heads. Default: 6
|
|
@@ -439,9 +440,9 @@ class Axial_Spatial_Attention(nn.Module):
|
|
| 439 |
return x
|
| 440 |
|
| 441 |
|
| 442 |
-
class
|
| 443 |
# The implementation builds on XCiT code https://github.com/facebookresearch/xcit
|
| 444 |
-
"""
|
| 445 |
Args:
|
| 446 |
dim (int): Number of input channels.
|
| 447 |
num_heads (int): Number of attention heads. Default: 6
|
|
@@ -538,13 +539,13 @@ class DATB(nn.Module):
|
|
| 538 |
|
| 539 |
if b_idx % 2 == 0:
|
| 540 |
# DSTB
|
| 541 |
-
self.attn =
|
| 542 |
dim, num_heads=num_heads, reso=reso, split_size=split_size, shift_size=shift_size, qkv_bias=qkv_bias, qk_scale=qk_scale,
|
| 543 |
drop=drop, attn_drop=attn_drop, rg_idx=rg_idx, b_idx=b_idx
|
| 544 |
)
|
| 545 |
else:
|
| 546 |
# DCTB
|
| 547 |
-
self.attn =
|
| 548 |
dim, num_heads=num_heads, qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop,
|
| 549 |
proj_drop=drop
|
| 550 |
)
|
|
|
|
| 246 |
return x
|
| 247 |
|
| 248 |
|
| 249 |
+
class Adaptive_Spatial_Attention(nn.Module):
|
| 250 |
+
# The implementation builds on CAT code https://github.com/Zhengchen1999/CAT
|
| 251 |
+
""" Adaptive Spatial Self-Attention
|
| 252 |
Args:
|
| 253 |
dim (int): Number of input channels.
|
| 254 |
num_heads (int): Number of attention heads. Default: 6
|
|
|
|
| 440 |
return x
|
| 441 |
|
| 442 |
|
| 443 |
+
class Adaptive_Channel_Attention(nn.Module):
|
| 444 |
# The implementation builds on XCiT code https://github.com/facebookresearch/xcit
|
| 445 |
+
""" Adaptive Channel Self-Attention
|
| 446 |
Args:
|
| 447 |
dim (int): Number of input channels.
|
| 448 |
num_heads (int): Number of attention heads. Default: 6
|
|
|
|
| 539 |
|
| 540 |
if b_idx % 2 == 0:
|
| 541 |
# DSTB
|
| 542 |
+
self.attn = Adaptive_Spatial_Attention(
|
| 543 |
dim, num_heads=num_heads, reso=reso, split_size=split_size, shift_size=shift_size, qkv_bias=qkv_bias, qk_scale=qk_scale,
|
| 544 |
drop=drop, attn_drop=attn_drop, rg_idx=rg_idx, b_idx=b_idx
|
| 545 |
)
|
| 546 |
else:
|
| 547 |
# DCTB
|
| 548 |
+
self.attn = Adaptive_Channel_Attention(
|
| 549 |
dim, num_heads=num_heads, qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop,
|
| 550 |
proj_drop=drop
|
| 551 |
)
|