code: def input_schema(self) -> LossInputSchema:
      return LossInputSchema(
          head_outputs=["new_policy_means", "new_policy_stds"],
          agent_inputs=[
              "actions",
              "old_policy_means",
              "old_policy_stds",
              "clip_param_rescaler",
          ],
          targets=["advantages"],
      )
  
imports: from typing import List, Tuple, Union
  from types import ModuleType
  import math
  import mxnet
  from mxnet.gluon import nn
  from rl_coach.base_parameters import AgentParameters
  from rl_coach.core_types import ActionProbabilities
  from rl_coach.spaces import SpacesDefinition, BoxActionSpace, DiscreteActionSpace
  from rl_coach.utils import eps
  from rl_coach.architectures.mxnet_components.heads.head import Head, HeadLoss, LossInputSchema, NormalizedRSSInitializer
  from rl_coach.architectures.mxnet_components.heads.head import LOSS_OUT_TYPE_LOSS, LOSS_OUT_TYPE_REGULARIZATION
  from rl_coach.architectures.mxnet_components.utils import hybrid_clip, broadcast_like
label_desc: Use image node_id 2 for calling the ClippedPPOLossContinuous obj's underlying member method code with example usage: obj.input_schema() and returns: LossInputSchema