Start · Sprachen · PHP · Referenz · fann_get_layer_array

fann_get_layer_array

Funktion

Gibt ein Array zurück, das die Anzahl der Neuronen in jeder Schicht des neuronalen Netzes enthält.

Kategorie: misc

Signatur

fann_get_layer_array(resource $ann): array

Beschreibung

fann_get_layer_array liest die Schichtstruktur eines FANN-Netzwerks aus und gibt die Neuronenanzahl jeder Schicht als numerisches Array zurück. Der erste Eintrag entspricht der Eingabeschicht, der letzte der Ausgabeschicht, alle dazwischenliegenden Einträge stellen verdeckte Schichten (Hidden Layers) dar.

Die Funktion ist nützlich, wenn man ein bestehendes Netzwerk analysieren oder dokumentieren möchte, ohne die ursprünglichen Architekturparameter zu kennen – beispielsweise nach dem Laden eines Netzwerks aus einer Datei mit fann_create_from_file.

Beachte, dass der zurückgegebene Wert den Bias-Neuronen nicht mitzählt – er zeigt nur die eigentlichen funktionalen Neuronen pro Schicht an.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netzwerk-Ressource, wie sie von Funktionen wie fann_create_standard oder fann_create_from_file zurückgegeben wird.

Rückgabewert

Typ
array
Beschreibung
Ein numerisches Array mit der Anzahl der Neuronen je Schicht. Index 0 ist die Eingabeschicht, der letzte Index die Ausgabeschicht. Gibt false zurück, wenn die Ressource ungültig ist.

Beispiele

Schichtstruktur eines neu erstellten Netzwerks ausgeben

<?php
// Erstellt ein Netzwerk mit 3 Eingaben, einer Hidden Layer mit 5 Neuronen und 1 Ausgabe
$ann = fann_create_standard(3, 3, 5, 1);

if ($ann) {
    $layers = fann_get_layer_array($ann);
    echo "Anzahl der Schichten: " . count($layers) . PHP_EOL;
    foreach ($layers as $index => $neuronCount) {
        echo "Schicht $index: $neuronCount Neuronen" . PHP_EOL;
    }
    fann_destroy($ann);
}
Anzahl der Schichten: 3 Schicht 0: 3 Neuronen Schicht 1: 5 Neuronen Schicht 2: 1 Neuronen

Netzwerkstruktur nach dem Laden aus einer Datei prüfen

<?php
// Netzwerk aus einer gespeicherten Datei laden
$ann = fann_create_from_file('mein_netz.net');

if ($ann) {
    $layers = fann_get_layer_array($ann);
    echo "Eingabeschicht: " . $layers[0] . " Neuronen" . PHP_EOL;
    echo "Ausgabeschicht: " . end($layers) . " Neuronen" . PHP_EOL;
    echo "Vollständige Struktur: " . implode(' -> ', $layers) . PHP_EOL;
    fann_destroy($ann);
} else {
    echo "Fehler beim Laden des Netzwerks." . PHP_EOL;
}
Eingabeschicht: 3 Neuronen Ausgabeschicht: 1 Neuronen Vollständige Struktur: 3 -> 5 -> 1

// Wichtig · Fallstricke

Diese Funktion setzt voraus, dass die PHP-Erweiterung FANN (Fast Artificial Neural Network) installiert und aktiviert ist. Sie ist nicht Bestandteil der PHP-Standardinstallation und muss separat über PECL oder als Systempakete bereitgestellt werden.

Die Biasneuronen werden im zurückgegebenen Array nicht mitgezählt. Wenn die Gesamtneuronenzahl (inklusive Bias) benötigt wird, kann fann_get_total_neurons verwendet werden.