class_docstr: Squeeze and excite layer
  
  Parameters
  ----------
  channel:
      size of the input and output
  reduction:
      magnitude of the compression
  D:
      dimension of the kernels
class_docstr_tok: ["Squeeze","and","excite","layer","Parameters","--","--","--","--","--","channel",":","size","of","the","input","and","output","reduction",":","magnitude","of","the","compression","D",":","dimension","of","the","kernels"]
code: def __init__(self, channel, reduction=16, dimension=3):
      # Global coords does not require coords_key
      super(SELayer, self).__init__()
      self.fc = torch.nn.Sequential(
          ME.MinkowskiLinear(channel, channel // reduction),
          ME.MinkowskiReLU(),
          ME.MinkowskiLinear(channel // reduction, channel),
          ME.MinkowskiSigmoid(),
      )
      self.pooling = ME.MinkowskiGlobalPooling()
      self.broadcast_mul = ME.MinkowskiBroadcastMultiplication()
  
imports: import torch
  import MinkowskiEngine
  import sys
  from .common import NormType, get_norm
  from torch_points3d.core.common_modules import Seq, Identity
label_desc: Use image node_id 1 to create a new SELayer object from inherited base classes: torch.nn with example: obj = SELayer(channel, reduction, dimension)