©
Ce document utilise Manuel du site Web PHP chinois Libérer
This example shows how to train data for XOR function
Example #1 xor.data file
4 2 1 -1 -1 -1 -1 1 1 1 -1 1 1 1 -1
Example #2 Simple train
<?php
$num_input = 2 ;
$num_output = 1 ;
$num_layers = 3 ;
$num_neurons_hidden = 3 ;
$desired_error = 0.001 ;
$max_epochs = 500000 ;
$epochs_between_reports = 1000 ;
$ann = fann_create_standard ( $num_layers , $num_input , $num_neurons_hidden , $num_output );
if ( $ann ) {
fann_set_activation_function_hidden ( $ann , FANN_SIGMOID_SYMMETRIC );
fann_set_activation_function_output ( $ann , FANN_SIGMOID_SYMMETRIC );
$filename = dirname ( __FILE__ ) . "/xor.data" ;
if ( fann_train_on_file ( $ann , $filename , $max_epochs , $epochs_between_reports , $desired_error ))
fann_save ( $ann , dirname ( __FILE__ ) . "/xor_float.net" );
fann_destroy ( $ann );
}
?>
This example shows how to read and run data for XOR function
Example #3 Simple test
<?php
$train_file = ( dirname ( __FILE__ ) . "/xor_float.net" );
if (! is_file ( $train_file ))
die( "The file xor_float.net has not been created! Please run simple_train.php to generate it" );
$ann = fann_create_from_file ( $train_file );
if (! $ann )
die( "ANN could not be created" );
$input = array(- 1 , 1 );
$calc_out = fann_run ( $ann , $input );
printf ( "xor test (%f,%f) -> %f\n" , $input [ 0 ], $input [ 1 ], $calc_out [ 0 ]);
fann_destroy ( $ann );
?>
[#1] Aurelien Marchand [2015-05-08 14:08:58]
Here is an explanation for the input file for training, as it might be obvious to everyone and you must understand it to write your own:
4 2 1 <- header file saying there are 4 sets to read, with 2 inputs and 1 output
-1 -1 <- the 2 inputs for the 1st group
-1 <- the 1 output for the 1st group
-1 1 <- the 2 inputs for the 2nd group
1 <- the 1 output for the 2nd group
1 -1 <- the 2 inputs for the 3rd group
1 <- the 1 output for the 3rd group
1 1 <- the 2 inputs for the 4th group
-1 <- the 1 output for the 4th group