void NeuralNetworkTest::test_save(void) { message += "test_save\n"; std::string file_name = "../data/neural_network.xml"; NeuralNetwork nn; IndependentParameters* ipp; // Empty multilayer perceptron nn.set(); nn.save(file_name); // Only network architecture nn.set(2, 4, 3); nn.save(file_name); // Only independent parameters nn.set(2); nn.save(file_name); // Both network architecture and independent parameters nn.set(1, 1, 1); nn.construct_independent_parameters(); ipp = nn.get_independent_parameters_pointer(); ipp->set_parameters_number(1); nn.save(file_name); }
void NeuralNetworkTest::test_get_independent_parameters_pointer(void) { message += "test_get_independent_parameters_pointer\n"; NeuralNetwork nn; nn.construct_independent_parameters(); // Test assert_true(nn.get_independent_parameters_pointer() != NULL, LOG); }
void NeuralNetworkTest::test_initialize_parameters(void) { message += "test_initialize_parameters\n"; NeuralNetwork nn; Vector<double> parameters; IndependentParameters* ip; // Test nn.set(1, 1, 1); nn.construct_independent_parameters(); ip = nn.get_independent_parameters_pointer(); ip->set_parameters_number(1); nn.randomize_parameters_normal(1.0, 0.0); parameters = nn.arrange_parameters(); assert_true(parameters == 1.0, LOG); }
void NeuralNetworkTest::test_set_parameters(void) { message += "test_set_parameters\n"; Vector<unsigned> multilayer_perceptron_architecture; NeuralNetwork nn; unsigned parameters_number; Vector<double> parameters; // Test nn.set_parameters(parameters); parameters = nn.arrange_parameters(); assert_true(parameters.size() == 0, LOG); // Test multilayer_perceptron_architecture.set(2, 2); nn.set(multilayer_perceptron_architecture); nn.construct_independent_parameters(); nn.get_independent_parameters_pointer()->set_parameters_number(2); parameters_number = nn.count_parameters_number(); parameters.set(0.0, 1.0, parameters_number - 1); nn.set_parameters(parameters); parameters = nn.arrange_parameters(); assert_true(parameters.size() == parameters_number, LOG); assert_true(parameters[0] == 0.0, LOG); assert_true(parameters[parameters_number - 1] == parameters_number - 1.0, LOG); }