code: def normalize(
      obs: jnp.ndarray,
      obs_params: jnp.ndarray,
      obs_shape: Tuple,
      clip_value: float,
      std_min_value: float,
      std_max_value: float,
  ) -> jnp.ndarray:
      """Normalize the given observation."""
  
      obs_steps = obs_params[0]
      running_mean, running_var = jnp.split(obs_params[1:], 2)
      running_mean = running_mean.reshape(obs_shape)
      running_var = running_var.reshape(obs_shape)
  
      variance = running_var / (obs_steps + 1.0)
      variance = jnp.clip(variance, std_min_value, std_max_value)
      return jnp.clip(
          (obs - running_mean) / jnp.sqrt(variance),
          -clip_value,
          clip_value,
      )
  
file_path: evojax/evojax/obs_norm.py
imports: import numpy
  from typing import Tuple
  from functools import partial
  import jax
  import jax.numpy
label_desc: Use image node_id 1 for calling a global function with example usage: normalize(obs, obs_params, obs_shape, clip_value, std_min_value, std_max_value) and returns: jnp