PHP 8.4.1 Released!

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
9 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
7 years ago
A helpful reference for FANN is available here:
http://leenissen.dk/fann/html/files2/theory-txt.html
up
1
ithirzty
4 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