code: def test_meta_schedule_random_model_reload():
      model = RandomModel(seed=25973)
      model.predict(
          TuneContext(),
          [MeasureCandidate(Schedule(Matmul), []) for i in range(30)],
      )  # change state
      path = os.path.join(
          tempfile.mkdtemp(),
          "test_output_meta_schedule_random_model.npy",
      )
      model.save(path)
      res1 = model.predict(
          TuneContext(),
          [MeasureCandidate(Schedule(Matmul), []) for i in range(70)],
      )
      model.load(path)
      res2 = model.predict(
          TuneContext(),
          [MeasureCandidate(Schedule(Matmul), []) for i in range(70)],
      )
      shutil.rmtree(os.path.dirname(path))
      assert (res1 == res2).all()
  
imports: import os
  import re
  import shutil
  import tempfile
  import unittest
  from functools import partial
  from typing import List
  import numpy
  import tvm
  import tvm.testing
  from tvm.meta_schedule.cost_model import PyCostModel, RandomModel, XGBModel
  from tvm.meta_schedule.cost_model.xgb_model import PackSum, _get_custom_call_back
  from tvm.meta_schedule.feature_extractor import RandomFeatureExtractor
  from tvm.meta_schedule.runner import RunnerResult
  from tvm.meta_schedule.search_strategy import MeasureCandidate
  from tvm.meta_schedule.tune_context import TuneContext
  from tvm.meta_schedule.utils import derived_object
  from tvm.script import tir
  from tvm.tir.schedule.schedule import Schedule
label_desc: Use image node_id 5 for calling a global function with example usage: test_meta_schedule_random_model_reload() without return types