class_docstr: Represents a Node in a tree containing a layer.
  
  `LayerNode` is used to represent a tree of layers in a model. It contains
  config which describes the layer, and other input layers feeding into it.
  
  It is used as a generic class to represent both sets of layers which have
  been found in a model, and layers which should be replaced inside the model.
code: def __eq__(self, other):
      if not other or not isinstance(other, LayerNode):
          return False
  
      if (
          self.layer != other.layer
          or not self._eq(self.weights, other.weights)
          or self.metadata != other.metadata
      ):
          return False
  
      if len(self.input_layers) != len(other.input_layers):
          return False
  
      for first_input_layer, second_input_layer in zip(
          self.input_layers, other.input_layers
      ):
          if first_input_layer != second_input_layer:
              return False
  
      return True
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import collections
  import six
label_desc: Use image node_id 4 for calling the LayerNode obj's underlying member method code with example usage: obj.__eq__(other) and returns: True, False, False, False, False