コード例 #1
0
void TestObjectiveFunctional::test_calculate_neural_parameters_gradient(void)
{
   message += "test_calculate_neural_parameters_gradient\n";

   MultilayerPerceptron mlp;
   MockObjectiveFunctional mof(&mlp);

   int neural_parameters_number;
   Vector<double> neural_parameters_gradient;

   // Test 

   mlp.set();
   neural_parameters_number = mlp.get_neural_parameters_number();   
   neural_parameters_gradient = mof.calculate_neural_parameters_gradient();
   assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG);

   // Test 

   mlp.set(1,1,1);
   neural_parameters_number = mlp.get_neural_parameters_number();
   neural_parameters_gradient = mof.calculate_neural_parameters_gradient();
   assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG);

   // Test 

   mlp.set(1);
   neural_parameters_number = mlp.get_neural_parameters_number();
   neural_parameters_gradient = mof.calculate_neural_parameters_gradient();
   assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG);

   // Test 

   mlp.set(1,1,1);
   mlp.set_independent_parameters_number(1);
   neural_parameters_number = mlp.get_neural_parameters_number();
   neural_parameters_gradient = mof.calculate_neural_parameters_gradient();
   assert_true(neural_parameters_gradient.get_size() == neural_parameters_number, LOG);
}