code: def schedule_fold_model_fit(self, model_base, fold_ctx, kwargs):
      args = [model_base, fold_ctx, kwargs]
      args_refs = [ray.put(arg) for arg in args]
      print("...model_fit")
  
      pg = placement_group([{"CPU": 2}], strategy="STRICT_SPREAD")
      ray.get(pg.ready())
      print(placement_group_table(pg))
      results_ref = model_fit_task_ray.options(
          placement_group=pg
      ).remote(*args_refs)
      self.jobs.append((results_ref, time_start_fold, on_fit_end_fn))
  
file_path: autogluon/core/src/autogluon/core/models/ensemble/ray_parallel_fold_fitting_strategy.py
imports: import time
  import ray
  from numpy import ndarray
  from pandas import DataFrame, Series
  from ray.util import placement_group, placement_group_table
  from autogluon.core.models.ensemble.fold_fitting_strategy import SequentialLocalFoldFittingStrategy
label_desc: Use image node_id 2 for calling the RayParallelFitter obj's underlying member method code with example usage: obj.schedule_fold_model_fit(model_base, fold_ctx, kwargs) without return types