class_docstr: Defines a configuration class from which an SAC Algorithm can be built.
  
  .. testcode::
  
      config = SACConfig().training(gamma=0.9, lr=0.01, train_batch_size=32)
      config = config.resources(num_gpus=0)
      config = config.rollouts(num_rollout_workers=1)
  
      # Build a Algorithm object from the config and run 1 training iteration.
      algo = config.build(env="CartPole-v1")
      algo.train()
class_docstr_tok: ["Defines","a","configuration","class","from","which","an","SAC","Algorithm","can","be","built",".","..","testcode",":",":","config","=","SACConfig","(",")",".training","(","gamma=0.9",",","lr=0.01",",","train_batch_size=32",")","config","=","config.resources","(","num_gpus=0",")","config","=","config.rollouts","(","num_rollout_workers=1",")","#","Build","a","Algorithm","object","from","the","config","and","run","1","training","iteration",".","algo","=","config.build","(","env=","''","CartPole-v1","''",")","algo.train","(",")"]
code: def get_rollout_fragment_length(self, worker_index: int = 0) -> int:
      if self.rollout_fragment_length == "auto":
          return self.n_step
      else:
          return self.rollout_fragment_length
  
imports: import logging
  from typing import Type, Dict, Any, Optional, Union
  from ray.rllib.algorithms.algorithm_config import AlgorithmConfig, NotProvided
  from ray.rllib.algorithms.dqn.dqn import DQN
  from ray.rllib.algorithms.sac.sac_tf_policy import SACTFPolicy
  from ray.rllib.policy.policy import Policy
  from ray.rllib.utils import deep_update
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.deprecation import DEPRECATED_VALUE, deprecation_warning
  from ray.rllib.utils.framework import try_import_tf, try_import_tfp
label_desc: Use image node_id 4 for calling the SACConfig obj's underlying member method code with example usage: obj.get_rollout_fragment_length(worker_index) and returns: self, self