Example #1
9
<?php

namespace MachineLearning;

include 'Util/Input.php';
include 'Util/Output.php';
$numLayers = 3;
$numInput = Util\Input::NUM_INPUT;
$numNeuronsHidden = 9;
$numOutput = Util\Output::NUM_OUTPUT;
$maxEpochs = 500000;
$epochsBetweenReports = 1000;
$desiredError = 0.001;
$ann = fann_create_standard($numLayers, $numInput, $numNeuronsHidden, $numOutput);
if ($ann) {
    fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
    fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);
    if (fann_train_on_file($ann, 'Data/training', $maxEpochs, $epochsBetweenReports, $desiredError)) {
        fann_save($ann, 'Data/training_result');
    }
    fann_destroy($ann);
}
Example #2
0
 /**
  * Create ANN in standard way
  * @param int number of layers
  * @param int input layer size
  * @param int next layer size
  * @param int next layer size
  * @param int last layer size
  * @return void
  */
 public function create_standard($numberOfLayers, $l1num, $l2num, $l3num = 0, $l4num = 0)
 {
     $this->annId = fann_create_standard($numberOfLayers, $l1num, $l2num, $l3num, $l4num);
     if ($this->annId < 0) {
         die('Could not initialize another ANN network.');
     }
 }
Example #3
0
<?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);
}
 /**
  * Create Standard.
  * 
  * @return bool
  */
 public function createStandard()
 {
     # Create standard fully connected backpropagation neural network.
     $this->ann = fann_create_standard($this->getLayers(), $this->inputLayer->getNeurons(), $this->hiddenLayer->getNeurons(), $this->outputLayer->getNeurons());
     if ($this->ann === false) {
         return false;
     } else {
         return true;
     }
 }