1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
// Copyright (C) 2008 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#include <dlib/optimization/find_optimal_parameters.h>
#include "tester.h"
namespace
{
using namespace test;
using namespace dlib;
using namespace std;
logger dlog("test.find_optimal_parameters");
// ----------------------------------------------------------------------------------------
class find_optimal_parameters : public tester
{
public:
find_optimal_parameters (
) :
tester ("test_find_optimal_parameters",
"Runs tests on find_optimal_parameters().")
{}
void perform_test (
)
{
print_spinner();
matrix<double,0,1> params = {0.5, 0.5};
dlib::find_optimal_parameters(4, 0.001, 100, params, {-0.1, -0.01}, {5, 5}, [](const matrix<double,0,1>& params) {
cout << ".";
return sum(squared(params));
});
matrix<double,0,1> true_params = {0,0};
DLIB_TEST(max(abs(true_params - params)) < 1e-10);
params = {0.1};
dlib::find_optimal_parameters(4, 0.001, 100, params, {-0.01}, {5}, [](const matrix<double,0,1>& params) {
cout << ".";
return sum(squared(params));
});
true_params = {0};
DLIB_TEST(max(abs(true_params - params)) < 1e-10);
}
} a;
}
|