Start · Sprachen · PHP · Referenz · fann_length_train_data

fann_length_train_data

Funktion

Gibt die Anzahl der Trainingsmuster in einem FANN-Trainingsdatensatz zurück.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_length_train_data(resource $data): int

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

Typ
int
Beschreibung
Gibt die Anzahl der im Trainingsdatensatz enthaltenen Muster als ganzzahligen Wert zurück. Im Fehlerfall (z. B. ungültige Ressource) wird 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;
}
?>
Anzahl der Trainingsmuster: 4

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;
}
?>
Starte Training mit 100 Mustern ...

// 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.