class_docstr: The basic :class:`Layer` class represents a single layer of a neural network.
  
  It should be subclassed when implementing new types of layers.
  
  Parameters
  ----------
  name : str or None
      A unique layer name. If None, a unique name will be automatically assigned.
  
  Methods
  ---------
  __init__()
      Initializing the Layer.
  __call__()
      (1) Building the Layer if necessary. (2) Forwarding the computation.
  all_weights()
      Return a list of Tensor which are all weights of this Layer.
  trainable_weights()
      Return a list of Tensor which are all trainable weights of this Layer.
  nontrainable_weights()
      Return a list of Tensor which are all nontrainable weights of this Layer.
  build()
      Abstract method. Build the Layer. All trainable weights should be defined in this function.
  forward()
      Abstract method. Forward computation and return computation results.
class_docstr_tok: ["The","basic",":","class",":","`","Layer","`","class","represents","a","single","layer","of","a","neural","network",".","It","should","be","subclassed","when","implementing","new","types","of","layers",".","Parameters","--","--","--","--","--","name",":","str","or","None","A","unique","layer","name",".","If","None",",","a","unique","name","will","be","automatically","assigned",".","Methods","--","--","--","--","-","__init__","(",")","Initializing","the","Layer",".","__call__","(",")","(","1",")","Building","the","Layer","if","necessary",".","(","2",")","Forwarding","the","computation",".","all_weights","(",")","Return","a","list","of","Tensor","which","are","all","weights","of","this","Layer",".","trainable_weights","(",")","Return","a","list","of","Tensor","which","are","all","trainable","weights","of","this","Layer",".","nontrainable_weights","(",")","Return","a","list","of","Tensor","which","are","all","nontrainable","weights","of","this","Layer",".","build","(",")","Abstract","method",".","Build","the","Layer",".","All","trainable","weights","should","be","defined","in","this","function",".","forward","(",")","Abstract","method",".","Forward","computation","and","return","computation","results","."]
docstr: An abstract method which should be overwritten in derived classes
  to define forward feeding operations of the layer.
  
  :param inputs: Tensor
  :return: Tensor
code: def forward(self, inputs):
      """
      An abstract method which should be overwritten in derived classes
      to define forward feeding operations of the layer.
  
      :param inputs: Tensor
      :return: Tensor
      """
      raise Exception(
          "The forward method must be implemented by inherited class"
      )
  
imports: import inspect
  from abc import abstractmethod
  import tensorflow
  import tensorlayer
  from tensorlayer import logging
  from tensorlayer.decorators import deprecated_alias, private_method, protected_method
  from tensorlayer.files import utils
  from tensorlayer.layers.utils import get_variable_with_initializer, list_remove_repeat
label_desc: Use image node_id 16 for calling the Layer obj's underlying member method code with example usage: obj.forward(inputs) without return types