예제 #1
0
 def test_save_load(self):
     state_dim = 8
     model = ExampleSequenceModel(state_dim)
     # ONNX sure exports a lot of parameters...
     expected_num_params, expected_num_inputs, expected_num_outputs = 133, 3, 1
     check_save_load(self, model, expected_num_params, expected_num_inputs,
                     expected_num_outputs)
예제 #2
0
    def test_get_predictor_export_meta_and_workspace(self):
        model = Model()

        # 2 params + 1 const
        expected_num_params, expected_num_inputs, expected_num_outputs = 3, 2, 4
        check_save_load(self, model, expected_num_params, expected_num_inputs,
                        expected_num_outputs)
예제 #3
0
    def test_get_predictor_export_meta_and_workspace(self):
        model = Model()

        # 2 params + 1 const
        expected_num_params, expected_num_inputs, expected_num_outputs = 3, 2, 4
        check_save_load(
            self, model, expected_num_params, expected_num_inputs, expected_num_outputs
        )
 def test_save_load_discrete_action(self):
     state_dim = 8
     action_dim = 4
     model = DuelingQNetwork(
         layers=[state_dim, 8, 4, action_dim],
         activations=["relu", "relu", "linear"],
         use_batch_norm=False,
     )
     expected_num_params, expected_num_inputs, expected_num_outputs = 22, 1, 1
     check_save_load(self, model, expected_num_params, expected_num_inputs,
                     expected_num_outputs)
예제 #5
0
 def test_save_load(self):
     state_dim = 8
     action_dim = 4
     model = FullyConnectedActor(
         state_dim,
         action_dim,
         sizes=[7, 6],
         activations=["relu", "relu"],
         use_batch_norm=False,
     )
     expected_num_params, expected_num_inputs, expected_num_outputs = 6, 1, 1
     check_save_load(self, model, expected_num_params, expected_num_inputs,
                     expected_num_outputs)
예제 #6
0
 def test_save_load(self):
     state_dim = 8
     action_dim = 4
     model = FullyConnectedParametricDQN(
         state_dim,
         action_dim,
         sizes=[8, 4],
         activations=["relu", "relu"],
         use_batch_norm=False,
     )
     expected_num_params, expected_num_inputs, expected_num_outputs = 6, 2, 1
     check_save_load(
         self, model, expected_num_params, expected_num_inputs, expected_num_outputs
     )
예제 #7
0
 def test_save_load(self):
     state_dim = 8
     action_dim = 4
     model = GaussianFullyConnectedActor(
         state_dim,
         action_dim,
         sizes=[7, 6],
         activations=["relu", "relu"],
         use_batch_norm=False,
     )
     expected_num_params, expected_num_inputs, expected_num_outputs = 8, 1, 1
     check_save_load(
         self, model, expected_num_params, expected_num_inputs, expected_num_outputs
     )
예제 #8
0
 def test_save_load_batch_norm(self):
     state_dim = 8
     action_dim = 4
     model = FullyConnectedActor(
         state_dim,
         action_dim,
         sizes=[7, 6],
         activations=["relu", "relu"],
         use_batch_norm=True,
     )
     # Freezing batch_norm
     model.eval()
     expected_num_params, expected_num_inputs, expected_num_outputs = 21, 1, 1
     check_save_load(self, model, expected_num_params, expected_num_inputs,
                     expected_num_outputs)
 def test_save_load_discrete_action_batch_norm(self):
     state_dim = 8
     action_dim = 4
     model = DuelingQNetwork(
         layers=[state_dim, 8, 4, action_dim],
         activations=["relu", "relu", "linear"],
         use_batch_norm=False,
     )
     # Freezing batch_norm
     model.eval()
     # Number of expected params is the same because DuelingQNetwork always
     # initialize batch norm layer even if it doesn't use it.
     expected_num_params, expected_num_inputs, expected_num_outputs = 22, 1, 1
     check_save_load(self, model, expected_num_params, expected_num_inputs,
                     expected_num_outputs)
예제 #10
0
 def test_save_load_batch_norm(self):
     state_dim = 8
     action_dim = 4
     model = FullyConnectedParametricDQN(
         state_dim,
         action_dim,
         sizes=[8, 4],
         activations=["relu", "relu"],
         use_batch_norm=True,
     )
     # Freezing batch_norm
     model.eval()
     expected_num_params, expected_num_inputs, expected_num_outputs = 21, 2, 1
     check_save_load(
         self, model, expected_num_params, expected_num_inputs, expected_num_outputs
     )
예제 #11
0
 def test_save_load(self):
     state_dim = 8
     action_dim = 4
     model = GaussianFullyConnectedActor(
         state_dim,
         action_dim,
         sizes=[7, 6],
         activations=["relu", "relu"],
         use_batch_norm=False,
     )
     expected_num_params, expected_num_inputs, expected_num_outputs = 6, 1, 1
     # Actor output is stochastic and won't match between PyTorch & Caffe2
     check_save_load(
         self,
         model,
         expected_num_params,
         expected_num_inputs,
         expected_num_outputs,
         check_equality=False,
     )
예제 #12
0
파일: test_bcq.py 프로젝트: ananthc/ReAgent
 def test_save_load(self):
     state_dim = 8
     action_dim = 4
     q_network = FullyConnectedDQN(state_dim,
                                   action_dim,
                                   sizes=[8, 4],
                                   activations=["relu", "relu"])
     imitator_network = FullyConnectedNetwork(
         layers=[state_dim, 8, 4, action_dim],
         activations=["relu", "relu", "linear"])
     model = BatchConstrainedDQN(
         state_dim=state_dim,
         q_network=q_network,
         imitator_network=imitator_network,
         bcq_drop_threshold=0.05,
     )
     # 6 for DQN + 6 for Imitator Network + 2 for BCQ constants
     expected_num_params, expected_num_inputs, expected_num_outputs = 14, 1, 1
     check_save_load(self, model, expected_num_params, expected_num_inputs,
                     expected_num_outputs)