code: def __init__(
      self,
      *,
      model_creator,
      optimizer_creator,
      loss_creator=None,
      metrics=None,
      scheduler_creator=None,
      training_operator_cls=TrainingOperator,
      initialization_hook=None,
      config=None,
      scheduler_step_freq="batch",
      use_tqdm=False,
      backend="torch_distributed",
      workers_per_node=1,
  ):
      if config is not None and "batch_size" in config:
          raise Exception(
              "Please do not specify batch_size in config. Input batch_size in the"
              " fit/evaluate/predict function of the estimator instead."
          )
  
      from zoo.orca.learn.pytorch.pytorch_ray_estimator import (
          PyTorchRayEstimator,
      )
  
      self.estimator = PyTorchRayEstimator(
          model_creator=model_creator,
          optimizer_creator=optimizer_creator,
          loss_creator=loss_creator,
          metrics=metrics,
          scheduler_creator=scheduler_creator,
          training_operator_cls=training_operator_cls,
          initialization_hook=initialization_hook,
          config=config,
          scheduler_step_freq=scheduler_step_freq,
          use_tqdm=use_tqdm,
          backend=backend,
          workers_per_node=workers_per_node,
      )
  
imports: from zoo.common.utils import enable_multi_fs_load, enable_multi_fs_save
  from zoo.orca.data.utils import row_to_sample, xshard_to_sample
  from zoo.orca.learn.utils import convert_predict_rdd_to_dataframe, bigdl_metric_results_to_dict, process_xshards_of_pandas_dataframe
  from zoo.pipeline.estimator.estimator import Estimator
  from zoo.orca.learn.ray_estimator import Estimator
  from zoo.orca.learn.pytorch.training_operator import TrainingOperator
  from zoo.orca.learn.spark_estimator import Estimator
  from zoo.orca.learn.optimizers import Optimizer, SGD
  from zoo.orca.learn.metrics import Accuracy
  from zoo.orca.data import SparkXShards
  from bigdl.optim.optimizer import MaxEpoch, OptimMethod
  from zoo.feature.common import FeatureSet
  from torch.optim.optimizer import Optimizer
  from torch.utils.data import DataLoader
  from pyspark.sql import DataFrame
  import warnings
  import torch
  import types
label_desc: Use image node_id 1 to create a new PyTorchRayEstimator object from inherited base classes: OrcaRayEstimator with example: obj = PyTorchRayEstimator()