          if isinstance(results[0], np.ndarray):
              return np.concatenate(results)
          return [np.concatenate(x) for x in zip(*results)]
  
      def _set_session(self, allow_growth, exclude_gpus):
          """ Sets the backend session options.
  
          For AMD backend this does nothing.
  
          For CPU backends, this hides any GPUs from Tensorflow.
 
</s> remove     def predict(self, feed, batch_size=None):
 </s> add     def predict(self,
                feed: Union[List[np.ndarray], np.ndarray],
                batch_size: Optional[int] = None) -> Union[List[np.ndarray], np.ndarray]: </s> remove     def _configure_backend(self, arguments):
 </s> add     def _configure_backend(self, arguments: "argparse.Namespace") -> None: </s> remove             logger.verbose("Hiding GPUs from Tensorflow")
 </s> add             logger.verbose("Hiding GPUs from Tensorflow")  # type:ignore </s> remove             ``None`` to not exclude any GPUs. Default: ``None``
 </s> add             ``None`` to not exclude any GPUs </s> remove         logger.verbose("Initializing plugin model: %s", self._name)
 </s> add         logger.verbose("Initializing plugin model: %s", self._name)  # type:ignore
    def _set_session(self, allow_growth: bool, exclude_gpus: list) -> None:
          if isinstance(results[0], np.ndarray):
              return np.concatenate(results)
          return [np.concatenate(x) for x in zip(*results)]
  
    def _set_session(self, allow_growth: bool, exclude_gpus: list) -> None:
          """ Sets the backend session options.
  
          For AMD backend this does nothing.
  
          For CPU backends, this hides any GPUs from Tensorflow.
keep keep keep keep replace keep keep keep keep keep
 Update TF to 2.9
    - Update TF to 2.7 to 2.9
    - Bump dependencies
    - Remove decode from pynvml calls
    - force keras predict functions to non-verbose
    - update tests
    - update Tensorboard logging
    - Update docs 
lib/model/session.py