code: def test_prophet_forecaster_save_restore(self):
      data, validation_data = create_data()
      forecaster = ProphetForecaster(
          changepoint_prior_scale=0.05,
          seasonality_prior_scale=10.0,
          holidays_prior_scale=10.0,
          seasonality_mode="additive",
          changepoint_range=0.8,
          metric="mse",
      )
      train_loss = forecaster.fit(data, validation_data)
      with tempfile.TemporaryDirectory() as tmp_dir_name:
          ckpt_name = os.path.join(tmp_dir_name, "json")
          test_pred_save = forecaster.predict(validation_data.shape[0])
          forecaster.save(ckpt_name)
          forecaster.restore(ckpt_name)
          test_pred_restore = forecaster.predict(
              validation_data.shape[0]
          )
      assert (test_pred_save["yhat"] == test_pred_restore["yhat"]).all()
  
file_path: BigDL/python/chronos/test/bigdl/chronos/forecaster/test_prophet_forecaster.py
imports: import numpy
  import pandas
  import tempfile
  import os
  from bigdl.chronos.utils import LazyImport
  from unittest import TestCase
  import pytest
  from ..None import op_diff_set_all
label_desc: Use image node_id 4 for calling the TestChronosModelProphetForecaster obj's underlying member method code with example usage: obj.test_prophet_forecaster_save_restore() without return types