Start · Sprachen · PHP · Referenz · fann_get_num_input

fann_get_num_input

Funktion

Gibt die Anzahl der Eingabeneuronen eines FANN-Netzwerks zurück.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_get_num_input(resource $ann): int|false

Beschreibung

fann_get_num_input() liest aus einem bestehenden FANN-Netzwerk (Fast Artificial Neural Network) die Anzahl der Neuronen in der Eingabeschicht aus. Diese Zahl entspricht der Dimension des Eingabevektors, den das Netzwerk erwartet.

Die Funktion ist besonders hilfreich, wenn das Netzwerk aus einer Datei geladen wurde und die ursprüngliche Konfiguration nicht mehr direkt vorliegt. So lässt sich sicherstellen, dass Eingabedaten die richtige Anzahl an Werten besitzen, bevor fann_run() aufgerufen wird.

Sie gehört zur FANN-Erweiterung (php-fann), die PHP-Bindings für die libfann-Bibliothek bereitstellt. Die Erweiterung muss explizit installiert und aktiviert sein, da sie nicht zum PHP-Kern gehört.

Parameter

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

Rückgabewert

Typ
int|false
Beschreibung
Gibt die Anzahl der Eingabeneuronen als int zurück. Im Fehlerfall (z. B. ungültige Ressource) wird false zurückgegeben.

Beispiele

Anzahl der Eingabeneuronen eines neu erstellten Netzwerks ausgeben

<?php
// Netzwerk mit 3 Eingabe-, 4 verdeckten und 1 Ausgabeneuron erstellen
$ann = fann_create_standard(3, 3, 4, 1);

if ($ann) {
    $numInput = fann_get_num_input($ann);
    echo "Anzahl der Eingabeneuronen: " . $numInput . PHP_EOL;
    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des Netzwerks." . PHP_EOL;
}
Anzahl der Eingabeneuronen: 3

Eingabegröße nach dem Laden aus einer Datei validieren

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

if ($ann) {
    $numInput = fann_get_num_input($ann);
    $eingabeDaten = [0.5, 0.3, 0.8]; // Beispiel-Eingabevektor

    if (count($eingabeDaten) !== $numInput) {
        echo "Fehler: Eingabevektor hat " . count($eingabeDaten)
           . " Werte, erwartet werden " . $numInput . "." . PHP_EOL;
    } else {
        $ausgabe = fann_run($ann, $eingabeDaten);
        echo "Netzwerkausgabe: " . implode(', ', $ausgabe) . PHP_EOL;
    }

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

// Wichtig · Fallstricke

Voraussetzung: Die FANN-Erweiterung (php-fann) muss installiert sein. Sie ist nicht Bestandteil der Standard-PHP-Distribution und muss über PECL oder den Paketmanager des Betriebssystems nachinstalliert werden.

Wird eine ungültige oder bereits zerstörte Ressource übergeben, liefert die Funktion false und gibt unter Umständen eine PHP-Warnung aus. Vor dem Aufruf sollte die Ressource daher immer auf Gültigkeit geprüft werden.