          batch_size: int
              The upper batchsize to use.
          """
          if isinstance(feed, np.ndarray):
              feed = [feed]
          items = feed[0].shape[0]
          done_items = 0
          results = []
          while done_items < items:
 
</s> remove     def _amd_predict_with_optimized_batchsizes(self, feed, batch_size):
 </s> add     def _amd_predict_with_optimized_batchsizes(
            self,
            feed: Union[List[np.ndarray], np.ndarray],
            batch_size: int) -> Union[List[np.ndarray], np.ndarray]: </s> remove         return self._model.predict(feed, batch_size=batch_size)
 </s> add         return self._model.predict(feed, verbose=0, batch_size=batch_size) </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         predicted = self._model.model.predict(feed, batch_size=batch_size)
 </s> add         predicted = self._model.model.predict(feed, verbose=0, batch_size=batch_size)
        assert self._model is not None
          batch_size: int
              The upper batchsize to use.
          """
        assert self._model is not None
          if isinstance(feed, np.ndarray):
              feed = [feed]
          items = feed[0].shape[0]
          done_items = 0
          results = []
          while done_items < items:
keep keep add keep 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