code: def build_experiment_config():
      """Builds MDQN experiment config which can be executed in different ways."""
      # Create an environment, grab the spec, and use it to create networks.
      env_name = ENV_NAME.value
  
      def env_factory(seed):
          del seed
          return helpers.make_atari_environment(
              level=env_name,
              sticky_actions=True,
              zero_discount_on_life_loss=False,
          )
  
      # Construct the agent.
      config = dqn.DQNConfig(
          discount=0.99,
          eval_epsilon=0.0,
          learning_rate=5e-5,
          n_step=1,
          epsilon=0.01,
          target_update_period=2000,
          min_replay_size=20_000,
          max_replay_size=1_000_000,
          samples_per_insert=8,
          batch_size=32,
      )
      loss_fn = losses.MunchausenQLearning(
          discount=config.discount,
          max_abs_reward=1.0,
          huber_loss_parameter=1.0,
          entropy_temperature=0.03,
          munchausen_coefficient=0.9,
      )
  
      dqn_builder = dqn.DQNBuilder(config, loss_fn=loss_fn)
  
      return experiments.ExperimentConfig(
          builder=dqn_builder,
          environment_factory=env_factory,
          network_factory=helpers.make_dqn_atari_network,
          seed=SEED.value,
          max_num_actor_steps=NUM_STEPS.value,
      )
  
file_path: acme/examples/baselines/rl_discrete/run_mdqn.py
imports: from absl import flags
  from acme.agents.jax import dqn
  from acme.agents.jax.dqn import losses
  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, helpers