code: def train_agent_real_env(env, learner, hparams, epoch):
    
    base_algo_str = hparams.base_algo
  
    train_hparams = trainer_lib.create_hparams(hparams.base_algo_params)
    rl_utils.update_hparams_from_hparams(
        train_hparams, hparams, "real_" + base_algo_str + "_"
    )
    if hparams.wm_policy_param_sharing:
      train_hparams.optimizer_zero_grads = True
  
    env_fn = rl.make_real_env_fn(env)
    num_env_steps = real_env_step_increment(hparams)
    learner.train(
        env_fn,
        train_hparams,
        simulated=False,
        save_continuously=False,
        epoch=epoch,
        sampling_temp=hparams.real_sampling_temp,
        num_env_steps=num_env_steps,
    )
    # Save unfinished rollouts to history.
    env.reset()
docs: Train the PPO agent in the real environment.