class_docstr: State representation of a TensorFlow Keras model and optimizer.
  
  Supports TensorFlow 2 models and optimizers, as well as `keras` and `tf.keras`.
  
  Args:
      model: TensorFlow Keras model.
      optimizer: Optional optimizer, can be compiled into model instead.
      backend: For TensorFlow v1, backend used by Keras for obtaining the session.
      kwargs: Additional properties to sync, will be exposed as attributes of the object.
class_docstr_tok: ["State","representation","of","a","TensorFlow","Keras","model","and","optimizer",".","Supports","TensorFlow","2","models","and","optimizers",",","as","well","as","`","keras","`","and","`","tf.keras","`",".","Args",":","model",":","TensorFlow","Keras","model",".","optimizer",":","Optional","optimizer",",","can","be","compiled","into","model","instead",".","backend",":","For","TensorFlow","v1",",","backend","used","by","Keras","for","obtaining","the","session",".","kwargs",":","Additional","properties","to","sync",",","will","be","exposed","as","attributes","of","the","object","."]
code: def save(self):
      self._save_model()
      super(TensorFlowKerasState, self).save()
  
imports: from packaging import version
  import tensorflow
  from tensorflow.python.framework import ops
  from horovod.common.elastic import run_fn, ObjectState
  from horovod.common.exceptions import HorovodInternalError
  from horovod.tensorflow.functions import broadcast_object, broadcast_object_fn, broadcast_variables
  from horovod.tensorflow.mpi_ops import _executing_eagerly, init, rank, shutdown
label_desc: Use image node_id 2 for calling the TensorFlowKerasState obj's underlying member method code with example usage: obj.save() without return types