class_docstr: Callback which wraps another callback, but executed on a different model.
  
  ```python
  model = keras.models.load_model('model.h5')
  model_checkpoint = ModelCheckpoint(filepath='snapshot.h5')
  parallel_model = multi_gpu_model(model, gpus=2)
  parallel_model.fit(X_train, Y_train, callbacks=[RedirectModel(model_checkpoint, model)])
  ```
  
  Args
      callback : callback to wrap.
      model    : model to use when executing callbacks.
code: def on_batch_begin(self, batch, logs=None):
      self.callback.on_batch_begin(batch, logs=logs)
  
file_path: ImageAI/imageai_tf_deprecated/Detection/keras_retinanet/callbacks/common.py
imports: from tensorflow import keras
label_desc: Use image node_id 4 for calling the RedirectModel obj's underlying member method code with example usage: obj.on_batch_begin(batch, logs) without return types