Signatur
Beschreibung
fann_get_training_algorithm() liest den Trainingsalgorithmus aus, der für das angegebene FANN-Netz (Fast Artificial Neural Network) konfiguriert ist. Der Rückgabewert ist eine ganzzahlige Konstante, die den gewählten Algorithmus repräsentiert.
Die FANN-Bibliothek unterstützt verschiedene Trainingsalgorithmen, darunter FANN_TRAIN_INCREMENTAL (inkrementelles Lernen nach jedem Datensatz), FANN_TRAIN_BATCH (Batch-Lernen), FANN_TRAIN_RPROP (resilientes Backpropagation-Verfahren) und FANN_TRAIN_QUICKPROP (Quickprop-Verfahren). Standardmäßig wird FANN_TRAIN_RPROP verwendet, da es für die meisten Anwendungsfälle gute Konvergenz bietet.
Diese Funktion ist nützlich, wenn man den aktuellen Trainingsalgorithmus vor einer Änderung oder zur Protokollierung abfragen möchte, beispielsweise um sicherzustellen, dass ein geladenes Netz mit dem erwarteten Verfahren trainiert wird. Sie arbeitet eng mit fann_set_training_algorithm() zusammen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine FANN-Netz-Ressource, die zuvor mit fann_create_standard(), fann_create_sparse() oder fann_create_shortcut() bzw. fann_create_from_file() erzeugt wurde. |
Rückgabewert
FANN_TRAIN_INCREMENTAL, FANN_TRAIN_BATCH, FANN_TRAIN_RPROP oder FANN_TRAIN_QUICKPROP. Im Fehlerfall (z. B. ungültige Ressource) wird false zurückgegeben.Beispiele
Aktuellen Trainingsalgorithmus auslesen und anzeigen
<?php
// Neuronales Netz mit 2 Eingaben, 1 versteckter Schicht (3 Neuronen), 1 Ausgabe erstellen
$ann = fann_create_standard(3, 2, 3, 1);
$algorithm = fann_get_training_algorithm($ann);
$names = [
FANN_TRAIN_INCREMENTAL => 'FANN_TRAIN_INCREMENTAL',
FANN_TRAIN_BATCH => 'FANN_TRAIN_BATCH',
FANN_TRAIN_RPROP => 'FANN_TRAIN_RPROP',
FANN_TRAIN_QUICKPROP => 'FANN_TRAIN_QUICKPROP',
];
echo "Aktueller Trainingsalgorithmus: " . ($names[$algorithm] ?? 'Unbekannt') . PHP_EOL;
fann_destroy($ann);
Trainingsalgorithmus prüfen und ggf. ändern
<?php
$ann = fann_create_standard(3, 2, 4, 1);
// Algorithmus auslesen
$current = fann_get_training_algorithm($ann);
// Falls nicht RPROP, auf RPROP umstellen
if ($current !== FANN_TRAIN_RPROP) {
echo "Algorithmus war nicht RPROP – wird umgestellt." . PHP_EOL;
fann_set_training_algorithm($ann, FANN_TRAIN_RPROP);
} else {
echo "Algorithmus ist bereits FANN_TRAIN_RPROP – keine Änderung nötig." . PHP_EOL;
}
// Zur Bestätigung erneut auslesen
$after = fann_get_training_algorithm($ann);
echo "Verwendeter Algorithmus nach Prüfung: " . $after . PHP_EOL;
fann_destroy($ann);
// Wichtig · Fallstricke
Voraussetzung: Die FANN-Erweiterung (php_fann) muss in PHP installiert und aktiviert sein. Sie ist nicht standardmäßig enthalten und muss über PECL oder die Systempaketquellen nachinstalliert werden.
Die zurückgegebenen Konstantenwerte sind plattformabhängige Ganzzahlen; es empfiehlt sich stets, die benannten Konstanten (FANN_TRAIN_RPROP etc.) statt numerischer Werte zu verwenden, um die Lesbarkeit und Wartbarkeit des Codes zu gewährleisten.