1+ <?php
2+
3+ function train ($ data , $ num_input , $ num_output , $ num_layers , $ num_neurons_hidden , $ desired_error , $ max_epochs , $ epochs_between_reports ){
4+
5+ $ ann = fann_create_standard ($ num_layers , $ num_input , $ num_neurons_hidden , $ num_output );
6+
7+ if ($ ann ) {
8+ fann_set_activation_function_hidden ($ ann , FANN_SIGMOID_SYMMETRIC );
9+ fann_set_activation_function_output ($ ann , FANN_SIGMOID_SYMMETRIC );
10+
11+ $ filename = dirname (__FILE__ ) . '/ ' . $ data . '.data ' ;
12+ if (fann_train_on_file ($ ann , $ filename , $ max_epochs , $ epochs_between_reports , $ desired_error )) {
13+ print ($ data . ' trained.<br> ' . PHP_EOL );
14+ }
15+
16+ if (fann_save ($ ann , dirname (__FILE__ ) . '/ ' . $ data . '_float.net ' )) {
17+ print ($ data . '_float.net saved.<br> ' . PHP_EOL );
18+ }
19+
20+ fann_destroy ($ ann );
21+ }
22+ }
23+
24+ train ('and ' , 2 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
25+ train ('nand ' , 2 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
26+ train ('nor ' , 2 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
27+ train ('not ' , 1 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
28+ train ('or ' , 2 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
29+ train ('xnor ' , 2 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
30+ train ('xor ' , 2 , 1 , 3 , 3 , 0.001 , 500000 , 1000 );
31+
32+
33+ print ("<a href='test_all.php'>Test All</a> " );
34+
35+ ?>
0 commit comments