MCPcopy Create free account
hub / github.com/DingXiaoH/RepVGG / SEBlock

Class SEBlock

se_block.py:7–22  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5# https://openaccess.thecvf.com/content_cvpr_2018/html/Hu_Squeeze-and-Excitation_Networks_CVPR_2018_paper.html
6
7class SEBlock(nn.Module):
8
9 def __init__(self, input_channels, internal_neurons):
10 super(SEBlock, self).__init__()
11 self.down = nn.Conv2d(in_channels=input_channels, out_channels=internal_neurons, kernel_size=1, stride=1, bias=True)
12 self.up = nn.Conv2d(in_channels=internal_neurons, out_channels=input_channels, kernel_size=1, stride=1, bias=True)
13 self.input_channels = input_channels
14
15 def forward(self, inputs):
16 x = F.avg_pool2d(inputs, kernel_size=inputs.size(3))
17 x = self.down(x)
18 x = F.relu(x)
19 x = self.up(x)
20 x = torch.sigmoid(x)
21 x = x.view(-1, self.input_channels, 1, 1)
22 return inputs * x

Callers 3

__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected