code: def __init__(
      self, attention_n_filters, attention_kernel_size, attention_dim
  ):
      super(LocationLayer, self).__init__()
      padding = int((attention_kernel_size - 1) / 2)
      self.location_conv = ConvNorm(
          2,
          attention_n_filters,
          kernel_size=attention_kernel_size,
          padding=padding,
          bias=False,
          stride=1,
          dilation=1,
      )
      self.location_dense = LinearNorm(
          attention_n_filters,
          attention_dim,
          bias=False,
          w_init_gain="tanh",
      )
  
imports: from math import sqrt
  import torch
  import torch.distributions
  from torch.autograd import Variable
  from torch import nn
  from torch.nn import functional
  from .layers import ConvNorm, LinearNorm, GlobalAvgPool
  from .utils import to_gpu, get_mask_from_lengths
label_desc: Use image node_id 1 to create a new LocationLayer object from inherited base classes: nn with example: obj = LocationLayer(attention_n_filters, attention_kernel_size, attention_dim)