Start · Sprachen · PHP · Referenz · fann_get_total_neurons

fann_get_total_neurons

Funktion

Gibt die Gesamtzahl der Neuronen in einem FANN-Netzwerk zurück, einschließlich der Bias-Neuronen.

seit PHP 5.0.0 Kategorie: misc

Signatur

fann_get_total_neurons(resource $ann): int

Beschreibung

fann_get_total_neurons() ist Teil der FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP und liefert die Gesamtanzahl aller Neuronen im angegebenen neuronalen Netzwerk. Dabei werden alle Schichten berücksichtigt – Eingabeschicht, versteckte Schichten und Ausgabeschicht – sowie die Bias-Neuronen, die in der Eingabe- und jeder versteckten Schicht vorhanden sein können.

Diese Funktion ist nützlich, um grundlegende Informationen über die Architektur eines Netzwerks zu ermitteln, beispielsweise zur Diagnose, Logging oder zur dynamischen Entscheidung, ob ein Netzwerk groß genug für eine bestimmte Aufgabe ist. Die Bias-Neuronen sind interne Neuronen ohne eingehende Verbindungen, die jedoch zur Gesamtzahl beitragen.

Um nur die Neuronen einer bestimmten Schicht oder ohne Bias-Neuronen zu ermitteln, können ergänzend andere FANN-Funktionen wie fann_get_num_input() oder fann_get_num_output() verwendet werden.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine FANN-Netzwerk-Ressource, die zuvor mit fann_create_standard(), fann_create_sparse(), fann_create_shortcut() oder fann_create_from_file() erstellt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt die Gesamtzahl der Neuronen im Netzwerk als Ganzzahl zurück, einschließlich der Bias-Neuronen. Im Fehlerfall (ungültige Ressource) wird false zurückgegeben.

Beispiele

Gesamtzahl der Neuronen eines einfachen Netzwerks ausgeben

<?php
// Erstelle ein einfaches neuronales Netzwerk mit 3 Eingaben, einer versteckten Schicht mit 4 Neuronen und 1 Ausgabe
$ann = fann_create_standard(3, 3, 4, 1);

if ($ann) {
    $total = fann_get_total_neurons($ann);
    echo "Gesamtzahl der Neuronen (inkl. Bias): " . $total . PHP_EOL;
    // Ausgabe: Gesamtzahl der Neuronen (inkl. Bias): 10
    // (3 Eingabe + 1 Bias-Eingabe + 4 Hidden + 1 Bias-Hidden + 1 Ausgabe = 10)
    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des Netzwerks.";
}
Gesamtzahl der Neuronen (inkl. Bias): 10

Netzwerkarchitektur analysieren und vergleichen

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

if ($ann) {
    $total   = fann_get_total_neurons($ann);
    $inputs  = fann_get_num_input($ann);
    $outputs = fann_get_num_output($ann);
    $layers  = fann_get_num_layers($ann);

    echo "Schichten:            " . $layers  . PHP_EOL;
    echo "Eingabeneuronen:      " . $inputs  . PHP_EOL;
    echo "Ausgabeneuronen:      " . $outputs . PHP_EOL;
    echo "Neuronen gesamt (inkl. Bias): " . $total . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Netzwerkdatei konnte nicht geladen werden.";
}

// Wichtig · Fallstricke

Bias-Neuronen: Die zurückgegebene Zahl enthält immer auch die Bias-Neuronen der Eingabe- und versteckten Schichten. Das kann beim Vergleich mit der manuell erwarteten Neuronenanzahl zu Verwirrung führen. Ein Netzwerk mit 2 Eingaben, 3 versteckten Neuronen und 1 Ausgabeneuron hat z. B. 8 Gesamtneuronen (2 + 1 Bias + 3 + 1 Bias + 1).

Erweiterung erforderlich: Die FANN-Funktionen stehen nur zur Verfügung, wenn die PHP-Erweiterung fann installiert und aktiviert ist. Diese ist nicht Bestandteil der PHP-Standardinstallation und muss über PECL installiert werden (pecl install fann).

Die Funktion arbeitet ausschließlich mit gültigen FANN-Ressourcen. Eine bereits zerstörte Ressource (nach fann_destroy()) führt zu einem Fehler.