class_docstr: PyTorch policy class used with PPO.
class_docstr_tok: ["PyTorch","policy","class","used","with","PPO","."]
code: def stats_fn(self, train_batch: SampleBatch) -> Dict[str, TensorType]:
      return convert_to_numpy(
          {
              "cur_kl_coeff": self.kl_coeff,
              "cur_lr": self.cur_lr,
              "total_loss": torch.mean(
                  torch.stack(self.get_tower_stats("total_loss"))
              ),
              "policy_loss": torch.mean(
                  torch.stack(self.get_tower_stats("mean_policy_loss"))
              ),
              "vf_loss": torch.mean(
                  torch.stack(self.get_tower_stats("mean_vf_loss"))
              ),
              "vf_explained_var": torch.mean(
                  torch.stack(self.get_tower_stats("vf_explained_var"))
              ),
              "kl": torch.mean(
                  torch.stack(self.get_tower_stats("mean_kl_loss"))
              ),
              "entropy": torch.mean(
                  torch.stack(self.get_tower_stats("mean_entropy"))
              ),
              "entropy_coeff": self.entropy_coeff,
          }
      )
  
imports: import logging
  from typing import Dict, List, Type, Union
  import ray
  from ray.rllib.algorithms.ppo.ppo_tf_policy import validate_config
  from ray.rllib.evaluation.postprocessing import Postprocessing, compute_gae_for_sample_batch
  from ray.rllib.models.action_dist import ActionDistribution
  from ray.rllib.models.modelv2 import ModelV2
  from ray.rllib.policy.sample_batch import SampleBatch
  from ray.rllib.policy.torch_mixins import EntropyCoeffSchedule, KLCoeffMixin, LearningRateSchedule, ValueNetworkMixin
  from ray.rllib.policy.torch_policy_v2 import TorchPolicyV2
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.framework import try_import_torch
  from ray.rllib.utils.numpy import convert_to_numpy
  from ray.rllib.utils.torch_utils import apply_grad_clipping, explained_variance, sequence_mask, warn_if_infinite_kl_divergence
  from ray.rllib.utils.typing import TensorType
label_desc: Use image node_id 4 for calling the PPOTorchPolicy obj's underlying member method code with example usage: obj.stats_fn(train_batch) and returns: convert_to_numpy