code: def compile_and_fit(model, image_train, label_train, epochs):
      model.compile(
          optimizer="adam",
          loss=tf.keras.losses.SparseCategoricalCrossentropy(
              from_logits=True
          ),
          metrics=["accuracy"],
      )
  
      callbacks_to_use = _get_callback(model_dir="./logs")
      model.fit(
          image_train,
          label_train,
          batch_size=500,
          validation_split=0.1,
          epochs=epochs,
          callbacks=callbacks_to_use,
          verbose=1,
      )
  
file_path: model-optimization/tensorflow_model_optimization/python/examples/cluster_preserve_qat/keras/mnist_cnn.py
imports: from __future__ import print_function
  import os
  from absl import app
  import numpy
  import tensorflow
  from tensorflow_model_optimization.python.core.clustering.keras import cluster
  from tensorflow_model_optimization.python.core.clustering.keras import cluster_config
  from tensorflow_model_optimization.python.core.quantization.keras import quantize
  from tensorflow_model_optimization.python.core.quantization.keras.collab_opts.cluster_preserve import default_8bit_cluster_preserve_quantize_scheme
  from tensorflow_model_optimization.python.core.quantization.keras.collab_opts.cluster_preserve.cluster_utils import strip_clustering_cqat
label_desc: Use image node_id 3 for calling a global function with example usage: compile_and_fit(model, image_train, label_train, epochs) without return types