code: def __init__(self, input_dimension, output_dimension, gating=True):
      super(Gated_Embedding_Unit, self).__init__()
  
      self.fc = nn.Linear(input_dimension, output_dimension)
      self.cg = Context_Gating(output_dimension)
      self.gating = gating
  
imports: from torch.autograd import Variable
  import torch.nn
  import torch.nn.functional
  import torch
  from loupe import NetVLAD
  import numpy
  from torch.autograd import Function
label_desc: Use image node_id 1 to create a new Gated_Embedding_Unit object from inherited base classes: nn with example: obj = Gated_Embedding_Unit(input_dimension, output_dimension, gating)