def test_basic_model(self): hparams = HParams() hparams.hidden_size = 100 hparams.num_actions = 10 basic_model = basic(hparams) input_state = np.ones((inp_dim, inp_dim)) output_state = basic_model(input_state) self.assertAllEqual(output_state.shape, (inp_dim, hparams.num_actions))
def test_ppo_critic(self): hparams = HParams() hparams.hidden_size = 100 hparams.num_actions = 10 PPOActor_model = PPOCritic(hparams) input_state = np.ones((inp_dim, inp_dim)) output_state = PPOActor_model(input_state) self.assertAllEqual(output_state.shape, (inp_dim, 1))
def test_noisy_network(self): hparams = HParams() hparams.hidden_size = 100 hparams.num_actions = 10 NoisyNetwork_model = NoisyNetwork(hparams) input_state = np.ones((inp_dim, inp_dim), dtype="float32") output_state = NoisyNetwork_model(input_state) self.assertAllEqual(output_state.shape, (inp_dim, hparams.num_actions))
def test_ddpg_actor_discrete(self): hparams = HParams() hparams.action_space_type = "Discrete" hparams.hidden_size = 25 hparams.num_actions = 10 DDPGActor_model = DDPGActor(hparams) input_state = np.ones((inp_dim, inp_dim)) output_state = DDPGActor_model(input_state) self.assertAllEqual(output_state.shape, (inp_dim, hparams.num_actions))
def test_ddpg_critic_box(self): hparams = HParams() hparams.action_space_type = "Box" hparams.hidden_size = 25 hparams.num_actions = 10 DDPGCritic_model = DDPGCritic(hparams) input_state = np.ones((inp_dim, inp_dim)) input_actions = np.ones((inp_dim, hparams.num_actions)) output_state = DDPGCritic_model(input_state, input_actions) self.assertAllEqual(output_state.shape, (inp_dim, 1))
def test_CNN_model(self): hparams = HParams() hparams.state_latent_size = 10 num_examples = 25 inp_channels = 1 CNN_model = CNN(hparams) input_state = np.ones((num_examples, inp_dim, inp_dim, inp_channels)) output_state = CNN_model(input_state) self.assertAllEqual(output_state.shape, (num_examples, hparams.state_latent_size))
def test_noisy_layer(self): hparams = HParams() units = 10 activation = tf.nn.relu NoisyLayer_model = NoisyLayer(hparams, units, activation) input_state = np.ones((inp_dim, inp_dim), dtype="float32") output_state = NoisyLayer_model(input_state) self.assertAllEqual(output_state.shape, (inp_dim, units))
def test_setup_with_invalid_params(self): hparams = HParams() hparams.memory_size = 100 # memory_priority_control and memory_priority_compensation should be <= 1 hparams.memory_priority_control = 1.75 hparams.memory_priority_compensation = 0.8 with self.assertRaises(AssertionError): memory = PrioritizedMemory(hparams, 0) hparams.memory_priority_control = 1.75 hparams.memory_priority_compensation = 1.8 with self.assertRaises(AssertionError): memory = PrioritizedMemory(hparams, 0)
def test_ddpg_actor_box(self): hparams = HParams() hparams.action_space_type = "Box" hparams.hidden_size = 25 hparams.num_actions = 10 hparams.action_low = np.zeros(hparams.num_actions) hparams.action_high = np.ones(hparams.num_actions) DDPGActor_model = DDPGActor(hparams) input_state = np.ones((inp_dim, inp_dim)) output_state = DDPGActor_model(input_state) self.assertAllEqual(output_state.shape, (inp_dim, hparams.num_actions))
def get_empty_memory(self): hparams = HParams() hparams.memory_size = 100 return SimpleMemory(hparams, 0)
def get_empty_memory(self): hparams = HParams() hparams.memory_size = 100 hparams.memory_priority_control = 1 hparams.memory_priority_compensation = 1 return PrioritizedMemory(hparams, 0)