diff --git a/model/attention/SimAM.py b/model/attention/SimAM.py deleted file mode 100644 index 6065501..0000000 --- a/model/attention/SimAM.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -MindSpore implementation of 'SimAM' -Refer to "SimAM: A Simple, Parameter-Free Attention Module for Convolutional Neural Networks" -""" -import mindspore as ms -from mindspore import nn - - -class SimAM(nn.Cell): - """ SimAM """ - def __init__(self, e_lambda=1e-4): - super().__init__() - self.activation = nn.Sigmoid() - self.e_lambda = e_lambda - - def construct(self, x): - _, _, H, W = x.shape - n = W * H - 1 - - x_minus_mu_square = (x - x.mean(axis=(2, 3), keep_dims=True)).pow(2) - y = x_minus_mu_square / (4 * x_minus_mu_square.sum(axis=(2, 3), keepdims=True) / n + self.e_lambda) + 0.5 - return x * self.activation(y) - - -if __name__ == '__main__': - dummy_input = ms.ops.randn(3, 64, 7, 7) - model = SimAM(64) - outputs = model(dummy_input) - print(outputs.shape)