code: def make_ppo_agent(self, env, model, opt, gpu):
      return PPO(
          model,
          opt,
          gpu=gpu,
          gamma=0.8,
          lambd=self.lambd,
          update_interval=64,
          minibatch_size=16,
          epochs=3,
          clip_eps_vf=self.clip_eps_vf,
          standardize_advantages=self.standardize_advantages,
          recurrent=self.recurrent,
          entropy_coef=1e-5,
          act_deterministically=True,
      )
  
imports: import copy
  import itertools
  import os
  import tempfile
  import unittest
  import chainer
  from chainer import functions
  from chainer import links
  from chainer import optimizers
  from chainer import testing
  import numpy
  import chainerrl
  from chainerrl.agents.a3c import A3CSeparateModel
  from chainerrl.agents import ppo
  from chainerrl.agents.ppo import PPO
  from chainerrl.envs.abc import ABC
  from chainerrl.experiments.evaluator import batch_run_evaluation_episodes
  from chainerrl.experiments.evaluator import run_evaluation_episodes
  from chainerrl.experiments import train_agent_batch_with_evaluation
  from chainerrl.experiments import train_agent_with_evaluation
  from chainerrl.misc.batch_states import batch_states
  from chainerrl import policies
  from chainerrl.links import StatelessRecurrentBranched
  from chainerrl.links import StatelessRecurrentSequential
label_desc: Use image node_id 13 for calling the TestPPO obj's underlying member method code with example usage: obj.make_ppo_agent(env, model, opt, gpu) and returns: PPO