code: def forward(self, x):
      # global_x = self.avgpool(x)
      # shape Nx4x1x1
      global_x = self.channel_wise(x).sigmoid()
      # shape: NxCxHxW
      global_x = global_x + x
      # shape:Nx1xHxW
      x = torch.mean(global_x, dim=1, keepdim=True)
      global_x = self.spatial_wise(x) + global_x
      global_x = self.attention_wise(global_x)
      return global_x
  
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 3 for calling the ScaleChannelSpatialAttention obj's underlying member method code with example usage: obj.forward(x) and returns: global_x