Treinamento XOR

Este exemplo mostra como treinar dados para a função XOR

Exemplo #1 arquivo xor.data

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Exemplo #2 Treinamento simples

<?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);
}
?>

Este exemplo mostra como ler e executar dados para a função XOR

Exemplo #3 Teste simples

<?php
$train_file
= (dirname(__FILE__) . "/xor_float.net");
if (!
is_file($train_file))
die(
"O arquivo xor_float.net não foi criado! Por favor execute simple_train.php para gerá-lo.");

$ann = fann_create_from_file($train_file);
if (!
$ann)
die(
"RNA não pôde ser criada.");

$input = array(-1, 1);
$calc_out = fann_run($ann, $input);
printf("texte xor (%f,%f) -> %f\n", $input[0], $input[1], $calc_out[0]);
fann_destroy($ann);
?>

adicione uma nota

Notas Enviadas por Usuários (em inglês) 3 notes

up
68
Aurelien Marchand
10 years ago
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
up
7
Ray.Paseur sometimes uses Gmail
8 years ago
A helpful reference for FANN is available here:
http://leenissen.dk/fann/html/files2/theory-txt.html
up
1
ithirzty
5 years ago
If you wan't your result to be saved after the time limit, you will need to add this to your code.
<?php
function shutdown()
{
global
$ann;
fann_save($ann, dirname(__FILE__) . "/result.net");
fann_destroy($ann);
}

register_shutdown_function('shutdown');
?>
where $ann is your neural network var and 'result.net' your neural network config file.
To Top