Provides access to the parameters of the given layer.
    Works arounds the non-availability of graph collections in
                eager mode.
    :layer_name: name of the layer for which parameters are
                required, must be one of the string in the
                list layer_names
    :return: list of parameters corresponding to the given
                layer.

def get_layer_params(self, layer_name):
    """
    Provides access to the parameters of the given layer.
    Works arounds the non-availability of graph collections in
                eager mode.
    :layer_name: name of the layer for which parameters are
                required, must be one of the string in the
                list layer_names
    :return: list of parameters corresponding to the given
                layer.
    """
    assert layer_name in self.layer_names

    out = []
    layer = self.layers[layer_name]
    layer_variables = layer.variables

    # For each parameter in a layer.
    for param in layer_variables:
      if param not in out:
        out.append(param)
    return out