PHP.mk документација

fann_train_epoch

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.fann-train-epoch.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.fann-train-epoch.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
fann_train_epoch

Референца за `function.fann-train-epoch.php` со подобрена типографија и навигација.

function.fann-train-epoch.php

fann_train_epoch

("PECL fann >= 1.0.0")

fann_train_epochОбучи една епоха со сет на податоци за обука

= NULL

function fann_train_epoch(resource $ann, resource $data): float

Обучи една епоха со податоците за обука зачувани во data. Една епоха е кога сите податоци за обука се земаат предвид точно еднаш.

This function returns the MSE error as it is calculated either before or during the actual training. This is not the actual MSE after the training epoch, but since calculating this would require going through the entire training set once more, it is more than adequate to use this value during training.

Алгоритмот за обука што се користи од оваа функција се избира со fann_set_training_algorithm() function.

Параметри

ann
Можат да се менуваат само тежините, врските и тежините се игнорираат ако веќе не постојат во мрежата. resource.
data
Податоци за обука на невронска мрежа resource.

Вратени вредности

MSE, или false при грешка.

Види Исто така

  • fann_train_on_data() Низа од посакувани излези. Оваа низа мора да биде точно
  • fann_test_data() Тестирај сет на податоци за обука и пресметува MSE за податоците за обука
  • fann_get_MSE() - Ги чита средните квадратни грешки од мрежата
  • fann_set_training_algorithm() - Го поставува алгоритмот за тренирање

Белешки од корисници 1 белешка

geekgirljoy на gmail точка com
пред 7 години
This code demonstrates training XOR using fann_train_epoch and will let you watch the training process by observing a psudo MSE (mean squared error).

Other training functions: fann_train_on_data, fann_train_on_file, fann_train.

fann_train_epoch is useful when you want to observe the ANN while it is training and perhaps save snapshots or compare competing networks during training. 

fann_train_epoch is different from fann_train in that it takes a data resource (training file) whereas fann_train takes an array of inputs and a separate array of outputs so use fann_train_epoch for observing training on data files (callback training resources) and use fann_train when observing manually specified data. 

Example code: 

<?php
$num_input = 2;
$num_output = 1;
$num_layers = 3; 
$num_neurons_hidden = 3; 
$desired_error = 0.0001;
$max_epochs = 500000;
$current_epoch = 0;
$epochs_between_saves = 100; // Minimum number of epochs between saves
$epochs_since_last_save = 0;
$filename = dirname(__FILE__) . "/xor.data";

// Initialize psudo mse (mean squared error) to a number greater than the desired_error
// this is what the network is trying to minimize.
$psudo_mse_result = $desired_error * 10000; // 1
$best_mse = $psudo_mse_result; // keep the last best seen MSE network score here

// Initialize ANN
$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
  echo 'Training ANN... ' . PHP_EOL; 
  
  // Configure the ANN
  fann_set_training_algorithm ($ann , FANN_TRAIN_BATCH);
  fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
  fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);
  
  // Read training data
  $train_data = fann_read_train_from_file($filename);
  
  
  // Check if psudo_mse_result is greater than our desired_error 
  // if so keep training so long as we are also under max_epochs
  while(($psudo_mse_result > $desired_error) && ($current_epoch <= $max_epochs)){
    $current_epoch++;
    $epochs_since_last_save++;  
  
    // See: http://php.net/manual/en/function.fann-train-epoch.php
    // Train one epoch with the training data stored in data. 
    //
    // One epoch is where all of the training data is considered 
    // exactly once.
    //
    // This function returns the MSE error as it is calculated 
    // either before or during the actual training. This is not the 
    // actual MSE after the training epoch, but since calculating this 
    // will require to go through the entire training set once more. 
    // It is more than adequate to use this value during training.
    $psudo_mse_result = fann_train_epoch ($ann , $train_data );
    echo 'Epoch ' . $current_epoch . ' : ' . $psudo_mse_result . PHP_EOL; // report
    
    
    // If we haven't saved the ANN in a while...
    // and the current network is better then the previous best network
    // as defined by the current MSE being less than the last best MSE
    // Save it!
    if(($epochs_since_last_save >= $epochs_between_saves) && ($psudo_mse_result < $best_mse)){
      
      $best_mse = $psudo_mse_result; // we have a new best_mse
      
      // Save a Snapshot of the ANN
      fann_save($ann, dirname(__FILE__) . "/xor.net");
      echo 'Saved ANN.' . PHP_EOL; // report the save
      $epochs_since_last_save = 0; // reset the count
    }
  
  } // While we're training

  echo 'Training Complete! Saving Final Network.'  . PHP_EOL;
  
  // Save the final network
  fann_save($ann, dirname(__FILE__) . "/xor.net");  
  fann_destroy($ann); // free memory
}
echo 'All Done!' . PHP_EOL;
?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.