Signatur
Beschreibung
fann_length_train_data() gehört zur FANN-Erweiterung (Fast Artificial Neural Network) für PHP und liefert die Gesamtzahl der Trainingsmuster (Samples), die in einem geladenen oder erzeugten Trainingsdatensatz enthalten sind.
Die Funktion wird typischerweise eingesetzt, um vor dem eigentlichen Trainingsvorgang sicherzustellen, dass die Trainingsdaten korrekt geladen wurden und die erwartete Anzahl von Mustern enthalten. Auch für Fortschrittsanzeigen, Validierungsaufteilungen oder Schleifen über Einzelmuster ist die Längenabfrage nützlich.
Der Trainingsdatensatz wird üblicherweise mit fann_read_train_from_file() oder fann_create_train() erzeugt und muss als gültiges FANN-Trainingsressource-Handle übergeben werden. Nach Nutzung sollte der Datensatz mit fann_destroy_train() freigegeben werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $data Pflicht | resource | Eine gültige FANN-Trainingsdaten-Ressource, wie sie z. B. von fann_read_train_from_file() oder fann_create_train() zurückgegeben wird. |
Rückgabewert
false zurückgegeben.Beispiele
Anzahl der Trainingsmuster ausgeben
<?php
// Trainingsdaten aus einer Datei laden
$train_data = fann_read_train_from_file('xor.data');
if ($train_data) {
$count = fann_length_train_data($train_data);
echo "Anzahl der Trainingsmuster: " . $count . PHP_EOL;
fann_destroy_train($train_data);
} else {
echo "Trainingsdaten konnten nicht geladen werden." . PHP_EOL;
}
?>
Trainingsmuster prüfen bevor Training gestartet wird
<?php
$ann = fann_create_standard(3, 2, 3, 1);
$train_data = fann_read_train_from_file('meine_daten.data');
if ($train_data) {
$length = fann_length_train_data($train_data);
if ($length < 10) {
echo "Warnung: Weniger als 10 Trainingsmuster vorhanden ({$length}). Ergebnis könnte ungenau sein." . PHP_EOL;
} else {
echo "Starte Training mit {$length} Mustern ..." . PHP_EOL;
fann_train_on_data($ann, $train_data, 1000, 10, 0.001);
fann_save($ann, 'trained.net');
}
fann_destroy_train($train_data);
fann_destroy($ann);
} else {
echo "Fehler beim Laden der Trainingsdaten." . PHP_EOL;
}
?>
// Wichtig · Fallstricke
Die FANN-Erweiterung ist eine PHP-Erweiterung, die nicht standardmäßig in PHP enthalten ist und separat kompiliert oder installiert werden muss (z. B. über PECL: pecl install fann). Stellen Sie sicher, dass die Erweiterung korrekt geladen ist, bevor Sie FANN-Funktionen verwenden.
Eine ungültige oder bereits freigegebene Ressource führt zu einem Laufzeitfehler. Prüfen Sie daher immer, ob fann_read_train_from_file() oder fann_create_train() eine gültige Ressource zurückgegeben haben, bevor Sie fann_length_train_data() aufrufen.