Start · Sprachen · PHP · Referenz · fann_get_num_layers

fann_get_num_layers

Funktion

Gibt die Anzahl der Schichten (Layer) im neuronalen Netzwerk zurück.

seit PHP 5.0.0 Kategorie: misc

Signatur

fann_get_num_layers(resource $ann): int

Beschreibung

fann_get_num_layers() ermittelt die Gesamtanzahl der Schichten eines neuronalen Netzes, das mit der FANN-Bibliothek (Fast Artificial Neural Network) erstellt wurde. Dazu zählen die Eingabeschicht, alle versteckten Schichten und die Ausgabeschicht.

Diese Funktion ist nützlich, wenn man die Architektur eines bestehenden Netzes untersuchen oder dokumentieren möchte, beispielsweise nach dem Laden eines gespeicherten Netzes aus einer Datei. Die Anzahl der Schichten bestimmt maßgeblich die Tiefe und Komplexität des Netzes.

Typischerweise hat ein einfaches Netz drei Schichten (1 Eingabe, 1 versteckt, 1 Ausgabe). Tiefe neuronale Netze besitzen mehrere versteckte Schichten und damit eine höhere Schichtenanzahl. Mit dieser Information lassen sich zusammen mit fann_get_layer_array() oder fann_get_neurons_array() detailliertere Analysen der Netzstruktur durchführen.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Ressource, die ein neuronales Netzwerk repräsentiert und zuvor mit fann_create_standard(), fann_create_from_file() oder einer ähnlichen Funktion erzeugt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt die Anzahl der Schichten im neuronalen Netzwerk als positive Ganzzahl zurück. Im Fehlerfall (z. B. ungültige Ressource) wird 0 zurückgegeben.

Beispiele

Schichtenanzahl eines neu erstellten Netzes ausgeben

<?php
// Neuronales Netz mit 3 Schichten erstellen: 2 Eingaben, 3 versteckte Neuronen, 1 Ausgabe
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    $num_layers = fann_get_num_layers($ann);
    echo "Anzahl der Schichten: " . $num_layers . PHP_EOL;
    fann_destroy($ann);
}
Anzahl der Schichten: 3

Netzarchitektur analysieren nach dem Laden aus einer Datei

<?php
// Netz aus gespeicherter Konfigurationsdatei laden
$ann = fann_create_from_file('mein_netz.net');

if ($ann) {
    $num_layers = fann_get_num_layers($ann);
    echo "Geladenes Netz hat " . $num_layers . " Schichten." . PHP_EOL;

    // Detaillierte Schichtinformationen ausgeben
    $layer_array = fann_get_layer_array($ann);
    for ($i = 0; $i < $num_layers; $i++) {
        echo "Schicht " . ($i + 1) . ": " . $layer_array[$i] . " Neuron(en)" . PHP_EOL;
    }

    fann_destroy($ann);
} else {
    echo "Fehler beim Laden des neuronalen Netzes." . PHP_EOL;
}
Geladenes Netz hat 3 Schichten. Schicht 1: 2 Neuron(en) Schicht 2: 3 Neuron(en) Schicht 3: 1 Neuron(en)

// Wichtig · Fallstricke

Voraussetzung: Die FANN-Erweiterung muss in PHP installiert und aktiviert sein. Sie ist nicht standardmäßig in PHP enthalten und muss über PECL installiert werden (pecl install fann). Seit PHP 8.0 ist die Unterstützung der FANN-Extension eingeschränkt — prüfe die Kompatibilität mit deiner PHP-Version.

Stets sicherstellen, dass die FANN-Ressource nach der Verwendung mit fann_destroy() freigegeben wird, um Speicherlecks zu vermeiden.