code: def setUp(self):
      # preparing various components for qr-dqn trainer initialization
      self.batch_size = 3
      self.state_dim = 10
      self.action_dim = 2
      self.num_layers = 2
      self.sizes = [20 for _ in range(self.num_layers)]
      self.activations = ["relu" for _ in range(self.num_layers)]
      self.use_layer_norm = False
      self.softmax_temperature = 1
  
      self.actions = [str(i) for i in range(self.action_dim)]
      self.params = PPOTrainerParameters(
          actions=self.actions, normalize=False
      )
      self.reward_options = RewardOptions()
      self.metrics_to_score = get_metrics_to_score(
          self.reward_options.metric_reward_values
      )
  
      self.policy_network = DuelingQNetwork.make_fully_connected(
          state_dim=self.state_dim,
          action_dim=self.action_dim,
          layers=self.sizes,
          activations=self.activations,
      )
      self.sampler = SoftmaxActionSampler(
          temperature=self.softmax_temperature
      )
      self.policy = Policy(
          scorer=self.policy_network, sampler=self.sampler
      )
  
      self.value_network = FloatFeatureFullyConnected(
          state_dim=self.state_dim,
          output_dim=1,
          sizes=self.sizes,
          activations=self.activations,
          use_layer_norm=self.use_layer_norm,
      )
  
imports: import unittest
  from collections import defaultdict
  from unittest import mock
  import torch
  from reagent.core.types import PolicyGradientInput
  from reagent.evaluation.evaluator import get_metrics_to_score
  from reagent.gym.policies.policy import Policy
  from reagent.gym.policies.samplers.discrete_sampler import SoftmaxActionSampler
  from reagent.models.dueling_q_network import DuelingQNetwork
  from reagent.models.fully_connected_network import FloatFeatureFullyConnected
  from reagent.training.parameters import PPOTrainerParameters
  from reagent.training.ppo_trainer import PPOTrainer
  from reagent.workflow.types import RewardOptions
label_desc: Use image node_id 1 for calling the TestPPO obj's underlying member method code with example usage: obj.setUp() without return types