docstr: Save the forecaster.
  
  :params checkpoint_file: The location you want to save the forecaster.
docstr_tok: ["Save","the","forecaster",".",":","params","checkpoint_file",":","The","location","you","want","to","save","the","forecaster","."]
code: def save(self, checkpoint_file):
      """
      Save the forecaster.
  
      :params checkpoint_file: The location you want to save the forecaster.
      """
      invalidInputError(
          self.fitted,
          "You must call fit or restore first before calling save!",
      )
  
      self.internal.save(checkpoint_file)
  
imports: import warnings
  import keras
  import tensorflow
  import numpy
  from bigdl.chronos.forecaster.abstract import Forecaster
  from bigdl.chronos.data import TSDataset
  from bigdl.chronos.metric.forecast_metrics import Evaluator
  from bigdl.nano.utils.common import invalidInputError
  from bigdl.chronos.forecaster.tf.utils import np_to_data_creator, tsdata_to_data_creator, np_to_xshards, xshard_to_np, np_to_tfdataset
label_desc: Use image node_id 8 for calling the BaseTF2Forecaster obj's underlying member method code with example usage: obj.save(checkpoint_file) without return types