class_docstr: This (abstract) class is a generic wrapper of OpenAI Gym env for policy evaluation.
  Attributes need to be override accordingly to have concrete working function.
  
  Attributes.
  ------------
  env_name: str
      Gym OpenAI environment name
  policy_dim: tuple
      Shape of the policy
  state_mean: list
      Average state values of multiple independent runs.
      Current implementations use values from https://github.com/modestyachts/ARS
  state_std: list
      Standard deviation of state values of multiple independent runs.
      Current implementations use values from https://github.com/modestyachts/ARS
  
  Parameters
  -----------
  num_rollouts: int
      number of independent runs.
  activation: str (default: 'tanh')
      activation function, only applicable when len(intermediate_layer_dim>) > 0
  deterministic_sim: bool (default: True)
      Deterministic when initial states are the same for all evaluations
  noise_level: float (default: 0.)
      Level (standard deviation) of noise applied to final action
  intermediate_layer_dim: tuple or None
      Shape of intermediate layers if exists else None
  layer_rescaling_coef: tuple or None
      Scaling coefficient of output layers
  states_normalization: bool (default: True)
      Normalize states with `state_mean` and `state_std`
  random_state: int or None
      random state for reproducibility in Gym environment.
code: def evaluation_function(self, *recommendations: p.Parameter) -> float:
      assert (
          len(recommendations) == 1
      ), "Should not be a pareto set for a singleobjective function"
      x = recommendations[0].value
      # pylint: disable=not-callable
      loss = self.function(x)
      assert isinstance(loss, float)
      base.update_leaderboard(
          f"{self.env_name},{self.parametrization.dimension}",
          loss,
          x,
          verbose=True,
      )
      return loss
  
imports: import numpy
  import gym
  import nevergrad.common.typing
  from nevergrad.parametrization import parameter
  from ..None import base
  from .mujoco import GenericMujocoEnv
label_desc: Use image node_id 3 for calling the BaseFunction obj's underlying member method code with example usage: obj.evaluation_function() and returns: loss