class_docstr: A layer to unpack a dictionary of sample features and neighbor features.
  
  Missing neighbor inputs will also be created for the functional API.
docstr: Calls the layer and updates `inputs` with new features if necessary.
  
  Args:
    inputs: A dictionary of tensors keyed by their feature names. See
      `utils.unpack_neighbor_features` for expected names of neighbor feature
      and weight tensors. If `inputs` is missing any neighbor feature and
      weight tensors, the dictionary will be updated with additional inputs
      corresponding to neighbor features and weights. These additional inputs
      should be passed to `tf.keras.Model` when using the functional API.
    *args: Positional arguments forwarded to `call` and `Layer.__call__`.
    **kwargs: Keyword arguments forwarded to `call` and `Layer.__call__`.
  
  Returns:
    A tuple (sample_features, neighbor_features, neighbor_weights) of tensors.
    See `utils.unpack_neighbor_features` for a detailed description.
docstr_tok: ["Calls","the","layer","and","updates","`","inputs","`","with","new","features","if","necessary",".","Args",":","inputs",":","A","dictionary","of","tensors","keyed","by","their","feature","names",".","See","`","utils.unpack_neighbor_features","`","for","expected","names","of","neighbor","feature","and","weight","tensors",".","If","`","inputs","`","is","missing","any","neighbor","feature","and","weight","tensors",",","the","dictionary","will","be","updated","with","additional","inputs","corresponding","to","neighbor","features","and","weights",".","These","additional","inputs","should","be","passed","to","`","tf.keras.Model","`","when","using","the","functional","API",".","*","args",":","Positional","arguments","forwarded","to","`","call","`","and","`","Layer.__call__","`",".","*","*","kwargs",":","Keyword","arguments","forwarded","to","`","call","`","and","`","Layer.__call__","`",".","Returns",":","A","tuple","(","sample_features",",","neighbor_features",",","neighbor_weights",")","of","tensors",".","See","`","utils.unpack_neighbor_features","`","for","a","detailed","description","."]
code: def __call__(self, inputs, *args, **kwargs):
      """Calls the layer and updates `inputs` with new features if necessary.
  
      Args:
        inputs: A dictionary of tensors keyed by their feature names. See
          `utils.unpack_neighbor_features` for expected names of neighbor feature
          and weight tensors. If `inputs` is missing any neighbor feature and
          weight tensors, the dictionary will be updated with additional inputs
          corresponding to neighbor features and weights. These additional inputs
          should be passed to `tf.keras.Model` when using the functional API.
        *args: Positional arguments forwarded to `call` and `Layer.__call__`.
        **kwargs: Keyword arguments forwarded to `call` and `Layer.__call__`.
  
      Returns:
        A tuple (sample_features, neighbor_features, neighbor_weights) of tensors.
        See `utils.unpack_neighbor_features` for a detailed description.
      """
      filtered_inputs = {
          feature_name: feature_tensor
          for feature_name, feature_tensor in inputs.items()
          if self._include_feature(feature_name)
      }
      missing_neighbor_inputs = make_missing_neighbor_inputs(
          self._neighbor_config,
          filtered_inputs,
          weight_dtype=self.dtype,
      )
      # Mutate `inputs` for Functional API.
      inputs.update(missing_neighbor_inputs)
      filtered_inputs.update(missing_neighbor_inputs)
      # Only unpack the relevant inputs.
      return super(NeighborFeatures, self).__call__(
          filtered_inputs, *args, **kwargs
      )
  
file_path: neural-structured-learning/neural_structured_learning/keras/layers/neighbor_features.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import attr
  import neural_structured_learning.configs
  from neural_structured_learning.lib import utils
  import tensorflow
label_desc: Use image node_id 4 for calling the NeighborFeatures obj's underlying member method code with example usage: obj.__call__(inputs) and returns: super