code: def build_experiment_config():
      """Builds MPO experiment config which can be executed in different ways."""
      suite, task = ENV_NAME.value.split(":", 1)
      critic_type = mpo.CriticType.MIXTURE_OF_GAUSSIANS
  
      def network_factory(
          spec: specs.EnvironmentSpec,
      ) -> mpo.MPONetworks:
          return mpo.make_control_networks(
              spec,
              policy_layer_sizes=(256, 256, 256),
              critic_layer_sizes=(256, 256, 256),
              policy_init_scale=0.5,
              critic_type=critic_type,
          )
  
      # Configure and construct the agent builder.
      config = mpo.MPOConfig(
          critic_type=critic_type,
          policy_loss_config=mpo_types.GaussianPolicyLossConfig(
              epsilon_mean=0.01
          ),
          samples_per_insert=64,
          learning_rate=3e-4,
          experience_type=mpo_types.FromTransitions(n_step=4),
      )
      agent_builder = mpo.MPOBuilder(
          config, sgd_steps_per_learner_step=1
      )
  
      return experiments.ExperimentConfig(
          builder=agent_builder,
          environment_factory=lambda _: helpers.make_environment(
              suite, task
          ),
          network_factory=network_factory,
          seed=SEED.value,
          max_num_actor_steps=NUM_STEPS.value,
      )
  
file_path: acme/examples/baselines/rl_continuous/run_mogmpo.py
imports: from absl import flags
  from acme import specs
  from acme.agents.jax import mpo
  from acme.agents.jax.mpo import types
  import helpers
  from absl import app
  from acme.jax import experiments
  from acme.utils import lp_utils
  import launchpad
label_desc: Use image node_id 1 for calling a global function with example usage: build_experiment_config() and returns: experiments, mpo