Signatur
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
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);
}
?>
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.