class_docstr: Base layer class.
  
  Parameters
  ----------
  input_size : list
      size of the layer input
  output_size : list
      size of the layer output
  activation : str or None
      activation function name
  input_index_mapper : IndexMapper or None
      map indexes from this layer index to the input layer index size
code: def _apply_activation(self, x):
      if self.__activation == "linear" or self.__activation is None:
          return x
      elif self.__activation == "relu":
          return np.maximum(x, 0)
      elif self.__activation == "sigmoid":
          return 1.0 / (1.0 + np.exp(-x))
      elif self.__activation == "tanh":
          return np.tanh(x)
      else:
          raise ValueError(
              f"Unknown activation function {self.__activation}"
          )
  
imports: import itertools
  import numpy
label_desc: Use image node_id 13 for calling the Layer obj's underlying member method code with example usage: obj._apply_activation(x) and returns: x, np, unknown, np