Signatur
Beschreibung
fann_num_input_train_data() gehört zur FANN-Erweiterung (Fast Artificial Neural Network) für PHP und liefert die Anzahl der Eingangswerte, die jedes einzelne Trainingsmuster in dem übergebenen Trainingsdatensatz besitzt. Dies entspricht der Dimension des Eingabevektors.
Die Funktion ist nützlich, wenn man die Struktur eines geladenen oder erzeugten Trainingsdatensatzes überprüfen möchte, bevor ein neuronales Netz damit trainiert wird. Die Anzahl der Eingaben muss mit der Anzahl der Eingabeneuronen des neuronalen Netzes übereinstimmen, damit das Training erfolgreich durchgeführt werden kann.
Typischerweise wird diese Funktion zusammen mit fann_num_output_train_data() und fann_length_train_data() eingesetzt, um Trainingsdaten vor dem eigentlichen Trainingsvorgang zu validieren und sicherzustellen, dass Daten und Netzarchitektur zueinander passen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $data Pflicht | resource | Eine gültige FANN-Trainingsdaten-Ressource, die zuvor mit Funktionen wie fann_read_train_from_file() oder fann_create_train() erzeugt wurde. |
Rückgabewert
false zurückgegeben.Beispiele
Eingabeanzahl eines Trainingsdatensatzes ausgeben
<?php
// Trainingsdaten aus einer Datei laden
$train_data = fann_read_train_from_file('xor.data');
if ($train_data) {
$num_inputs = fann_num_input_train_data($train_data);
$num_outputs = fann_num_output_train_data($train_data);
$num_samples = fann_length_train_data($train_data);
echo "Trainingsmuster gesamt: $num_samples" . PHP_EOL;
echo "Eingaben je Muster: $num_inputs" . PHP_EOL;
echo "Ausgaben je Muster: $num_outputs" . PHP_EOL;
fann_destroy_train($train_data);
} else {
echo "Fehler beim Laden der Trainingsdaten." . PHP_EOL;
}
?>
Kompatibilität von Netz und Trainingsdaten prüfen
<?php
$ann = fann_create_standard(3, 2, 3, 1);
$train_data = fann_read_train_from_file('xor.data');
if ($ann && $train_data) {
$net_inputs = fann_get_num_input($ann);
$data_inputs = fann_num_input_train_data($train_data);
if ($net_inputs !== $data_inputs) {
echo "Fehler: Netz erwartet $net_inputs Eingaben,"
. " Trainingsdaten liefern aber $data_inputs." . PHP_EOL;
} else {
echo "Kompatibel – starte Training." . PHP_EOL;
fann_train_on_data($ann, $train_data, 1000, 100, 0.0001);
}
fann_destroy($ann);
fann_destroy_train($train_data);
}
?>
// Wichtig · Fallstricke
Die Funktion steht nur zur Verfügung, wenn die FANN-Erweiterung (php-fann) installiert und aktiviert ist. Diese Erweiterung ist nicht Bestandteil der Standard-PHP-Distribution und muss separat kompiliert oder als Paket installiert werden.
Wird eine ungültige oder bereits zerstörte Ressource übergeben, gibt die Funktion false zurück und erzeugt einen PHP-Fehler. Es empfiehlt sich daher, die Ressource vor dem Aufruf mit einer Bedingung zu prüfen.