Start · Sprachen · PHP · Referenz · fann_reset_errstr

fann_reset_errstr

Funktion

Setzt die zuletzt gespeicherte Fehlermeldung einer FANN-Netzwerk-Ressource zurück.

seit PHP 5.5.0 Kategorie: misc

Signatur

fann_reset_errstr(resource $ann): bool

Beschreibung

fann_reset_errstr() gehört zur FANN-Erweiterung (Fast Artificial Neural Network Library) und löscht die intern gespeicherte Fehlermeldung einer neuronalen Netzwerk-Ressource. Nach dem Aufruf ist der Fehlerstring leer, als ob kein Fehler aufgetreten wäre.

Diese Funktion ist nützlich, wenn man nach dem Abfangen und Verarbeiten eines Fehlers (z. B. über fann_get_errstr()) den Fehlerzustand der Ressource bereinigen möchte, bevor weitere Operationen auf dem Netzwerk ausgeführt werden. So lassen sich Fehler aus einer vorherigen Operation von späteren Fehlern sauber trennen.

Typischer Einsatz ist die Fehlerbehandlung in einer Schleife, in der das Netzwerk mehrfach trainiert oder evaluiert wird und nach jeder Iteration der Fehlerzustand zurückgesetzt werden soll, um eine präzise Fehlerdiagnose zu ermöglichen.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netzwerk-Ressource, die zuvor mit einer Funktion wie fann_create_standard() erstellt wurde.

Rückgabewert

Typ
bool
Beschreibung
Gibt true zurück, wenn der Fehlerstring erfolgreich zurückgesetzt wurde, oder false, wenn ein ungültiges Ressource-Handle übergeben wurde.

Beispiele

Fehlermeldung auslesen und anschließend zurücksetzen

<?php
// Neuronales Netz erstellen
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    // Absichtlich fehlerhafte Operation durchführen oder Fehler prüfen
    $errstr = fann_get_errstr($ann);

    if (!empty($errstr)) {
        echo "Fehlermeldung: " . $errstr . PHP_EOL;

        // Fehlermeldung zurücksetzen
        fann_reset_errstr($ann);

        // Bestätigen, dass der Fehler gelöscht wurde
        echo "Nach Reset: '" . fann_get_errstr($ann) . "'" . PHP_EOL;
    } else {
        echo "Kein Fehler vorhanden." . PHP_EOL;
    }

    fann_destroy($ann);
}
?>
Kein Fehler vorhanden.

Fehlerbehandlung in einer Trainingsschleife

<?php
$ann = fann_create_standard(3, 2, 4, 1);

if ($ann) {
    $trainFile = '/path/to/train.data';

    for ($epoch = 0; $epoch < 10; $epoch++) {
        // Vor jeder Iteration den Fehlerzustand zurücksetzen
        fann_reset_errstr($ann);

        // Trainingsschritt ausführen
        $result = fann_train_on_file($ann, $trainFile, 1, 1, 0.001);

        if (!$result) {
            $err = fann_get_errstr($ann);
            echo "Fehler in Epoche {$epoch}: " . $err . PHP_EOL;
        } else {
            echo "Epoche {$epoch} erfolgreich." . PHP_EOL;
        }
    }

    fann_destroy($ann);
}
?>

// Wichtig · Fallstricke

Hinweis: Die FANN-Erweiterung muss als PHP-Extension installiert und aktiviert sein (extension=fann). Sie ist nicht standardmäßig in PHP enthalten und muss über PECL installiert werden.

Ab PHP 8.0 können FANN-Ressourcen als FANNConnection-Objekte vorliegen, je nach eingesetzter FANN-Version. Stellen Sie sicher, dass Sie das korrekte Handle verwenden, da ein ungültiges Argument false zurückgibt, ohne eine Exception zu werfen.