class_docstr: Base layer class.
  This is the class from which all layers inherit.
  A layer is a class implementing common neural networks operations, such
  as convolution, batch norm, etc. These operations require managing weights,
  losses, updates, and inter-layer connectivity.
  Users will just instantiate a layer and then treat it as a callable.
  We recommend that descendants of `Layer` implement the following methods:
  * `__init__()`: Save configuration in member variables
  * `build()`: Called once from `__call__`, when we know the shapes of inputs
      and `dtype`.
  * `call()`: Called in `__call__` after making sure `build()` has been called
      once. Should actually perform the logic of applying the layer to the
      input tensors (which should be passed in as the first argument).
class_docstr_tok: ["Base","layer","class",".","This","is","the","class","from","which","all","layers","inherit",".","A","layer","is","a","class","implementing","common","neural","networks","operations",",","such","as","convolution",",","batch","norm",",","etc",".","These","operations","require","managing","weights",",","losses",",","updates",",","and","inter-layer","connectivity",".","Users","will","just","instantiate","a","layer","and","then","treat","it","as","a","callable",".","We","recommend","that","descendants","of","`","Layer","`","implement","the","following","methods",":","*","`","__init__","(",")","`",":","Save","configuration","in","member","variables","*","`","build","(",")","`",":","Called","once","from","`","__call__","`",",","when","we","know","the","shapes","of","inputs","and","`","dtype","`",".","*","`","call","(",")","`",":","Called","in","`","__call__","`","after","making","sure","`","build","(",")","`","has","been","called","once",".","Should","actually","perform","the","logic","of","applying","the","layer","to","the","input","tensors","(","which","should","be","passed","in","as","the","first","argument",")","."]
docstr: Creates the variables of the layer (optional, for subclass implementers).
  This is a method that implementers of subclasses of `Layer`
  can override if they need a state-creation step in-between
  layer instantiation and layer call.
  This is typically used to create the weights of `Layer` subclasses.
  Arguments:
  input_shape: Instance of `TensorShape`, or list of instances of
      `TensorShape` if the layer expects a list of inputs
      (one instance per input).
docstr_tok: ["Creates","the","variables","of","the","layer","(","optional",",","for","subclass","implementers",")",".","This","is","a","method","that","implementers","of","subclasses","of","`","Layer","`","can","override","if","they","need","a","state-creation","step","in-between","layer","instantiation","and","layer","call",".","This","is","typically","used","to","create","the","weights","of","`","Layer","`","subclasses",".","Arguments",":","input_shape",":","Instance","of","`","TensorShape","`",",","or","list","of","instances","of","`","TensorShape","`","if","the","layer","expects","a","list","of","inputs","(","one","instance","per","input",")","."]
code: def build(self, input_shape):  # pylint: disable=unused-argument
      """Creates the variables of the layer (optional, for subclass implementers).
      This is a method that implementers of subclasses of `Layer`
      can override if they need a state-creation step in-between
      layer instantiation and layer call.
      This is typically used to create the weights of `Layer` subclasses.
      Arguments:
      input_shape: Instance of `TensorShape`, or list of instances of
          `TensorShape` if the layer expects a list of inputs
          (one instance per input).
      """
      self.built = True
  
file_path: tf-encrypted/tf_encrypted/keras/engine/base_layer.py
imports: import logging
  from abc import ABC
  import numpy
  import tensorflow
  from tensorflow.python.keras.utils import generic_utils
  import tf_encrypted
  from tf_encrypted.keras.engine.base_layer_utils import unique_object_name
  from tf_encrypted.protocol import TFEPrivateTensor
  from tf_encrypted.protocol import TFEPrivateVariable
label_desc: Use image node_id 2 for calling the Layer obj's underlying member method code with example usage: obj.build(input_shape) without return types