1 /* ///////////////////////////////////////////////////////////////////////
2 * File: bp_network_test.h
10 * Copyright (c) 2008-2020, Waruqi All rights reserved.
11 * //////////////////////////////////////////////////////////////////// */
12 #ifndef EXTL_INTELLIGENCE_ANN_BP_NETWORK_TEST_H
13 #define EXTL_INTELLIGENCE_ANN_BP_NETWORK_TEST_H
15 /* ///////////////////////////////////////////////////////////////////////
18 EXTL_INTELLIGENCE_BEGIN_WHOLE_NAMESPACE
19 EXTL_TEST_NAME_BEGIN_NAMESPACE(bp_network_test
)
21 /* ///////////////////////////////////////////////////////////////////////
24 static int bp_network_test()
26 /* ///////////////////////////////////////////////////////////////////////
34 EXTL_TEST_TRACE(_T("bp_network_test: train xor\n"));
35 typedef bp_network
<2, 1> xor_bp_type
;
36 typedef xor_bp_type::layers_type xor_layers_type
;
37 xor_bp_type
xor_bp(xor_layers_type(10), 0.5);
38 EXTL_NS_TEST(xor_tester
)<xor_bp_type
> xtr
;
41 /* ///////////////////////////////////////////////////////////////////////
49 EXTL_TEST_TRACE(_T("bp_network_test: train not\n"));
50 typedef bp_network
<2, 2> not_bp_type
;
51 typedef not_bp_type::layers_type not_layers_type
;
52 typedef not_bp_type::sample_type not_sample_type
;
53 typedef not_bp_type::samples_type not_samples_type
;
54 not_bp_type
not_bp(not_layers_type(10), 0.5);
55 EXTL_NS_TEST(not_tester
)<not_bp_type
> ntr
;
58 /* ///////////////////////////////////////////////////////////////////////
62 EXTL_TEST_TRACE(_T("bp_network_test: train sin(0, 2 * pi)\n"));
63 typedef bp_network
<8, 8> sin_bp_type
;
64 typedef sin_bp_type::layers_type sin_layers_type
;
65 typedef sin_bp_type::sample_type sin_sample_type
;
66 typedef sin_bp_type::samples_type sin_samples_type
;
67 sin_bp_type
sin_bp(sin_layers_type(10), 0.5);
68 EXTL_NS_TEST(sin_tester
)<sin_bp_type
> str
;
69 str
.test(sin_bp
, 100);
73 int bp_network_test_ret
= bp_network_test();
75 /* ///////////////////////////////////////////////////////////////////////
76 * ::unit_test namespace
78 EXTL_TEST_NAME_END_NAMESPACE(bp_network_test
)
79 EXTL_INTELLIGENCE_END_WHOLE_NAMESPACE
80 /* //////////////////////////////////////////////////////////////////// */
81 #endif /* EXTL_INTELLIGENCE_ANN_BP_NETWORK_TEST_H */
82 /* //////////////////////////////////////////////////////////////////// */