Signatur
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
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.";
}
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.