code: def _normalize_advantages(
      advantages, axes=(0, 1), variance_epsilon=1e-8
  ):
      adv_mean, adv_var = tf.nn.moments(
          advantages, axes=axes, keepdims=True
      )
      normalized_advantages = tf.nn.batch_normalization(
          advantages,
          adv_mean,
          adv_var,
          offset=None,
          scale=None,
          variance_epsilon=variance_epsilon,
      )
      return normalized_advantages
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from typing import Optional, Text, Tuple
  from absl import logging
  import gin
  from six.moves import range
  from six.moves import zip
  import tensorflow
  from tf_agents.agents import data_converter
  from tf_agents.agents import tf_agent
  from tf_agents.agents.ppo import ppo_policy
  from tf_agents.agents.ppo import ppo_utils
  from tf_agents.networks import network
  from tf_agents.policies import greedy_policy
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.trajectories import trajectory
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import eager_utils
  from tf_agents.utils import nest_utils
  from tf_agents.utils import object_identity
  from tf_agents.utils import tensor_normalizer
  from tf_agents.utils import value_ops
label_desc: Use image node_id 1 for calling a global function with example usage: _normalize_advantages(advantages, axes, variance_epsilon) and returns: normalized_advantages