class_docstr: Adds KL coeff updates via `additional_update_for_module()` to Impala logic.
  
  Framework-specific sub-classes must override `_update_module_target_networks()`
  and `_update_module_kl_coeff()`
class_docstr_tok: ["Adds","KL","coeff","updates","via","`","additional_update_for_module","(",")","`","to","Impala","logic",".","Framework-specific","sub-classes","must","override","`","_update_module_target_networks","(",")","`","and","`","_update_module_kl_coeff","(",")","`"]
docstr: Dynamically update the KL loss coefficients of each module with.
  
  The update is completed using the mean KL divergence between the action
  distributions current policy and old policy of each module. That action
  distribution is computed during the most recent update/call to `compute_loss`.
  
  Args:
      module_id: The module whose KL loss coefficient to update.
      config: The AlgorithmConfig specific to the given `module_id`.
      sampled_kl: The computed KL loss for the given Module
          (KL divergence between the action distributions of the current
          (most recently updated) module and the old module version).
docstr_tok: ["Dynamically","update","the","KL","loss","coefficients","of","each","module","with",".","The","update","is","completed","using","the","mean","KL","divergence","between","the","action","distributions","current","policy","and","old","policy","of","each","module",".","That","action","distribution","is","computed","during","the","most","recent","update\/call","to","`","compute_loss","`",".","Args",":","module_id",":","The","module","whose","KL","loss","coefficient","to","update",".","config",":","The","AlgorithmConfig","specific","to","the","given","`","module_id","`",".","sampled_kl",":","The","computed","KL","loss","for","the","given","Module","(","KL","divergence","between","the","action","distributions","of","the","current","(","most","recently","updated",")","module","and","the","old","module","version",")","."]
code: def _update_module_kl_coeff(
      self, module_id: ModuleID, config: APPOConfig, sampled_kl: float
  ) -> Dict[str, Any]:
      """Dynamically update the KL loss coefficients of each module with.
  
      The update is completed using the mean KL divergence between the action
      distributions current policy and old policy of each module. That action
      distribution is computed during the most recent update/call to `compute_loss`.
  
      Args:
          module_id: The module whose KL loss coefficient to update.
          config: The AlgorithmConfig specific to the given `module_id`.
          sampled_kl: The computed KL loss for the given Module
              (KL divergence between the action distributions of the current
              (most recently updated) module and the old module version).
      """
  
file_path: ray/python/ray/rllib/algorithms/appo/appo_learner.py
imports: import abc
  from typing import Any, Dict
  from ray.rllib.algorithms.appo.appo import APPOConfig
  from ray.rllib.algorithms.impala.impala_learner import ImpalaLearner
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.lambda_defaultdict import LambdaDefaultDict
  from ray.rllib.utils.metrics import LAST_TARGET_UPDATE_TS, NUM_TARGET_UPDATES
  from ray.rllib.utils.schedules.scheduler import Scheduler
  from ray.rllib.utils.typing import ModuleID
label_desc: Use image node_id 5 for calling the AppoLearner obj's underlying member method code with example usage: obj._update_module_kl_coeff(module_id, config, sampled_kl) without return types