class_docstr: Abstract StanEstimator with shared args for all StanEstimator child classes
  
  Parameters
  ----------
  num_warmup : int
      Number of samples to warm up and to be discarded, default 900
  num_sample : int
      Number of samples to return, default 100
  chains : int
      Number of chains in stan sampler, default 4
  cores : int
      Number of cores for parallel processing, default max(cores, multiprocessing.cpu_count())
  algorithm : str
      If None, default to Stan defaults
  suppress_stan_log : bool
      If False, turn off cmdstanpy logger. Default as False.
  kwargs
      Additional `BaseEstimator` class args
code: def __init__(
      self,
      num_warmup=900,
      num_sample=100,
      chains=4,
      cores=8,
      algorithm=None,
      suppress_stan_log=True,
      **kwargs,
  ):
      # see https://mc-stan.org/cmdstanpy/users-guide/outputs.html for details
      cmdstanpy_logger = logging.getLogger("cmdstanpy")
      cmdstanpy_logger.disabled = suppress_stan_log
  
      super().__init__(**kwargs)
      self.num_warmup = num_warmup
      self.num_sample = num_sample
      self.chains = chains
      self.cores = cores
      self.algorithm = algorithm
  
      # stan_init fallback if not provided in model
      # this arg is passed in through `model_payload` in `fit()` to override
      # self.stan_init = "random"
  
      # init computed configs
      self._num_warmup_per_chain = None
      self._num_sample_per_chain = None
      self._num_iter_per_chain = None
      self._total_iter = None
  
      self._set_computed_stan_configs()
  
imports: from abc import abstractmethod
  from copy import copy
  import logging
  import multiprocessing
  from sys import platform, version_info
  from .base_estimator import BaseEstimator
  from ..exceptions import EstimatorException
  from ..utils.stan import get_compiled_stan_model, suppress_stdout_stderr
  from ..utils.general import update_dict
  from ..utils.logger import get_logger
label_desc: Use image node_id 1 to create a new StanEstimator object from inherited base classes: BaseEstimator with example: obj = StanEstimator(num_warmup, num_sample, chains, cores, algorithm, suppress_stan_log)