      recovered_model = model.__class__.from_config(model_config)
      if model.weights:
          weights = model.get_weights()
          recovered_model.set_weights(weights)
          _output = recovered_model.predict(input_data)
          assert_allclose(_output, actual_output, rtol=1e-3)
  
      # test training mode (e.g. useful when the layer has a
      # different behavior at training and testing time).
      if has_arg(layer.call, 'training'):
 
</s> remove         _output = recovered_model.predict(input_data)
 </s> add         _output = recovered_model.predict(input_data, verbose=0) </s> remove     actual_output = model.predict(input_data)
 </s> add     actual_output = model.predict(input_data, verbose=0) </s> remove             # following bug in TF 2.8 when writing records:
 </s> add             # following bug in TF 2.8/2.9 when writing records: </s> remove     def append_softmax_activation(self, layer_index=-1):
 </s> add     def append_softmax_activation(self, layer_index: int = -1) -> None: </s> remove     def load_model_weights(self):
 </s> add     def load_model_weights(self) -> None:
        _output = recovered_model.predict(input_data, verbose=0)
      recovered_model = model.__class__.from_config(model_config)
      if model.weights:
          weights = model.get_weights()
          recovered_model.set_weights(weights)
        _output = recovered_model.predict(input_data, verbose=0)
          assert_allclose(_output, actual_output, rtol=1e-3)
  
      # test training mode (e.g. useful when the layer has a
      # different behavior at training and testing time).
      if has_arg(layer.call, 'training'):
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 
tests/lib/model/layers_test.py