Start · Sprachen · PHP · Referenz · fann_get_training_algorithm

fann_get_training_algorithm

Funktion

Gibt den aktuell eingestellten Trainingsalgorithmus eines neuronalen Netzes zurück.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_get_training_algorithm(resource $ann): int

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

Typ
int
Beschreibung
Gibt eine ganzzahlige Konstante zurück, die den Trainingsalgorithmus repräsentiert. Mögliche Werte sind 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);
Aktueller Trainingsalgorithmus: FANN_TRAIN_RPROP

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);
Algorithmus ist bereits FANN_TRAIN_RPROP – keine Änderung nötig. Verwendeter Algorithmus nach Prüfung: 2

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