(PECL fann >= 1.0.0)
fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
$ann
,$filename
,$max_epochs
,$epochs_between_reports
,$desired_error
Trains on an entire dataset, which is read from file, for a period of time.
This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.
ann
Neural network resource .
filename
The file containing train data
max_epochs
The maximum number of epochs the training should continue
epochs_between_reports
The number of epochs between calling a user function. A value of zero means that user function is not called.
desired_error
The desired fann_get_MSE() or fann_get_bit_fail() , depending on the stop function chosen by fann_set_train_stop_function()
Training File (xor.data):
4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1
<?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;
$training_data = dirname(__FILE__) . "/xor.data"; // training data file
$ann_save_file = dirname(__FILE__) . "/xor_float.net"; // training data file
// Create ANN object using
$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);
if ($ann) {
// Configure the ANN Activation Function
fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);
// Try to train using fann_train_on_file()
if (fann_train_on_file($ann, $training_data, $max_epochs, $epochs_between_reports, $desired_error)){
echo 'xor trained.' . PHP_EOL);
}
// Try to save
if (fann_save($ann, $ann_save_file)){
echo 'xor saved.' . PHP_EOL);
}
// Destroy the $ann object
fann_destroy($ann);
}
?>