          self._model_kwargs = {} if not model_kwargs else model_kwargs
          self._model = None
          logger.trace("Initialized: %s", self.__class__.__name__,)
  
      def predict(self, feed, batch_size=None):
          """ Get predictions from the model.
  
          This method is a wrapper for :func:`keras.predict()` function. For Tensorflow backends
          this is a straight call to the predict function. For PlaidML backends, this attempts
          to optimize the inference batch sizes to reduce the number of kernels that need to be
 
</s> remove         self._model = None
        logger.trace("Initialized: %s", self.__class__.__name__,)
 </s> add         self._model: Optional[Model] = None
        logger.trace("Initialized: %s", self.__class__.__name__,)  # type:ignore </s> remove         self._set_session(allow_growth, exclude_gpus)
 </s> add         self._set_session(allow_growth, [] if exclude_gpus is None else exclude_gpus) </s> remove     def load_model_weights(self):
 </s> add     def load_model_weights(self) -> None: </s> remove     def load_model(self):
 </s> add     def load_model(self) -> None: </s> remove         logger.verbose("Initializing plugin model: %s", self._name)
 </s> add         logger.verbose("Initializing plugin model: %s", self._name)  # type:ignore
        assert self._model is not None
    def predict(self,
                feed: Union[List[np.ndarray], np.ndarray],
                batch_size: Optional[int] = None) -> Union[List[np.ndarray], np.ndarray]:
          self._model_kwargs = {} if not model_kwargs else model_kwargs
          self._model = None
          logger.trace("Initialized: %s", self.__class__.__name__,)
  
    def predict(self,
                feed: Union[List[np.ndarray], np.ndarray],
                batch_size: Optional[int] = None) -> Union[List[np.ndarray], np.ndarray]:
          """ Get predictions from the model.
  
          This method is a wrapper for :func:`keras.predict()` function. For Tensorflow backends
          this is a straight call to the predict function. For PlaidML backends, this attempts
          to optimize the inference batch sizes to reduce the number of kernels that need to be
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