Hauptinhalt

Predict

Vorhersagen von Antworten mithilfe eines trainierten neuronalen Netzes für Deep Learning

  • Predict block

Bibliotheken:
Deep Learning Toolbox / Deep Neural Networks

Beschreibung

Der Predict-Block sagt die Antworten für die Daten am Eingang voraus, indem er das über den Blockparameter angegebene trainierte Netz verwendet. Dieser Block ermöglicht das Laden eines vortrainierten Netzes in das Simulink®-Modell aus einer MAT-Datei oder aus einer MATLAB®-Funktion.

Hinweis

Verwenden Sie den Predict-Block, um Vorhersagen in Simulink zu treffen. Verwenden Sie die Funktion minibatchpredict oder predict, um Vorhersagen programmatisch mithilfe von MATLAB Programmcode zu treffen.

Beispiele

Ports

Eingang

alle erweitern

Die Eingangsports des Predict-Blocks akzeptieren die Namen der Eingangsschichten des geladenen Netzes. Wenn Sie beispielsweise imagePretrainedNetwork für MATLAB function angeben, weist der Eingangsport des Predict-Blocks die Kennzeichnung data auf. Auf Basis des geladenen Netzes kann es sich bei dem Eingang zum Predict-Block um Bild-, Sequenz- oder Zeitreihendaten handeln.

Das Layout des Eingangs hängt vom Datentyp ab.

DatenLayout der Prädiktoren
2D-BilderEin h-mal-w-mal-c-mal-N numerisches Array, wobei h, w und c die Höhe, die Breite bzw. die Anzahl der Kanäle der Bilder sind, und N die Anzahl der Bilder ist.
Vektorsequenzens-mal-c-Matrizen, wobei s die Sequenzlänge und c die Anzahl Merkmale der Sequenzen darstellt.
2D-Bildsequenzenh-mal-w-mal-c-mal-s-Arrays, bei denen h, w und c die Höhe, Breite, und Kanalanzahl der Bilder darstellen und s die Sequenzlänge darstellt.
MerkmaleEin numerisches N-mal-numFeatures-Array, wobei N die Anzahl der Beobachtungen und numFeatures die Anzahl der Merkmale der Eingangsdaten darstellt.

Falls das Array NaNs enthält, werden diese durch das Netz propagiert.

Ausgang

alle erweitern

Die Ausgangsports des Predict-Blocks akzeptieren die Namen der Ausgangsschichten des geladenen Netzes. Wenn Sie beispielsweise imagePretrainedNetwork für MATLAB function angeben, wird der Ausgangsport des Predict-Blocks mit prob_flatten gekennzeichnet. Auf Basis des geladenen Netzes kann der Ausgang des Predict-Blocks vorhergesagte Punktzahlen oder Antworten darstellen.

Die vorhergesagten Punktzahlen oder Antworten werden als K-mal-N-Array zurückgegeben, wobei K die Anzahl Klassen und N die Anzahl Beobachtungen darstellt.

Wenn Sie Activations für eine Netzschicht aktivieren, erstellt der Predict-Block einen neuen Ausgangsport mit dem Namen der ausgewählten Netzschicht. Dieser Ausgang gibt die Aktivierungen der ausgewählten Netzschicht zurück.

Die Aktivierungen der Netzschicht werden als numerisches Array zurückgegeben. Das Ausgangsformat hängt vom Typ der Eingabedaten und dem Typ des Schichtausgangs ab.

Bei einem 2D-Bildausgang werden die Aktivierungen in einem h-mal-w-mal-c-mal-n-Array dargestellt, wobei h, w und c die Höhe, Breite und Kanalanzahl für den Ausgang der gewählten Schicht sind und n die Anzahl der Bilder ist.

Bei einem einzelnen Zeitschritt mit Vektordaten werden die Aktivierungen in einer c-mal-n-Matrix dargestellt, wobei c die Anzahl Merkmale in der Sequenz und n die Anzahl der Sequenzen sind.

Bei einem mehrfachen Zeitschritt mit Vektordaten werden die Aktivierungen in einer c-mal-n-mal-s-Matrix dargestellt, wobei c die Anzahl Merkmale in der Sequenz, n die Anzahl Sequenzen und s die Sequenzlänge ist.

Bei einem einzelnen Zeitschritt mit 2D-Bilddaten werden die Aktivierungen in einem h-mal-w-mal-c-mal-n-Array dargestellt, wobei n die Anzahl Sequenzen ist und h, w und c die Höhe, Breite und Kanalanzahl der Bilder sind.

Parameter

alle erweitern

Geben Sie die Quelle für das trainierte Netz an. Wählen Sie eine der folgenden Möglichkeiten:

  • Network from MAT file– Importieren eines trainierten Netzes aus einer MAT-Datei, die ein dlnetwork-Objekt enthält.

  • Network from MATLAB function– Importieren eines vortrainierten Netzes aus einer MATLAB-Funktion. Um zum Beispiel ein vortrainiertes GoogLeNet zu verwenden, erstellen Sie eine Funktion pretrainedGoogLeNet in einer MATLAB-M-Datei und importieren Sie diese Funktion dann.

    function net = pretrainedGoogLeNet
      net = imagePretrainedNetwork("googlenet");
    end

Programmatische Nutzung

Blockparameter: Network
Typ: Zeichenvektor, Zeichenfolge
Werte: 'Network from MAT file' | 'Network from MATLAB function'
Standard: 'Network from MAT file'

Dieser Parameter gibt den Namen der MAT-Datei an, die das zu ladende trainierte Deep-Learning-Netz enthält. Wenn sich die Datei nicht im MATLAB-Pfad befindet, verwenden Sie die Schaltfläche Browse, um die Datei zu finden.

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie den Network-Parameter auf Network from MAT file.

Programmatische Nutzung

Blockparameter: NetworkFilePath
Typ: Zeichenvektor, Zeichenfolge
Werte: MAT-Dateipfad oder -name
Standard: 'untitled.mat'

Dieser Parameter gibt den Namen der MATLAB-Funktion für das vortrainierte Deep-Learning-Netz an. Um zum Beispiel ein vortrainiertes GoogLeNet zu verwenden, erstellen Sie eine Funktion pretrainedGoogLeNet in einer MATLAB-M-Datei und importieren Sie diese Funktion dann.

function net = pretrainedGoogLeNet
  net = imagePretrainedNetwork("googlenet");
end

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie den Network-Parameter auf Network from MATLAB function.

Programmatische Nutzung

Blockparameter: NetworkFunction
Typ: Zeichenvektor, Zeichenfolge
Werte: Name der MATLAB-Funktion
Standard: 'squeezenet'

Größe der für die Vorhersage zu verwendenden Mini-Batches, angegeben als positive Ganzzahl. Größere Mini-Batches erfordern mehr Speicherplatz, können aber zu schnelleren Vorhersagen führen.

Programmatische Nutzung

Blockparameter: MiniBatchSize
Typ: Zeichenvektor, Zeichenfolge
Werte: positive Ganzzahl
Standard: '128'

Aktivieren Sie Ausgangsports, die vorhergesagte Punktzahlen oder Antworten zurückgeben.

Programmatische Nutzung

Blockparameter: Predictions
Typ: Zeichenvektor, Zeichenfolge
Werte: 'off' | 'on'
Standard: 'on'

Dieser Parameter legt das vom trainierten dlnetwork erwartete Eingangsdatenformat fest.

Datenformat, angegeben als String-Skalar oder Zeichenvektor. Jedes Zeichen im String muss eine der folgenden Dimensionskennzeichnungen aufweisen:

  • "S" – Spatial

  • "C" – Channel

  • "B" – Batch

  • "T" – Time

  • "U" – Unspecified

Beispielsweise können Sie für ein Array mit einer Reihe von Sequenzen, deren erste, zweite und dritte Dinension Kanälen, Beobachtungen und Zeitschritten entsprechen, das Format "CBT" festlegen.

Sie können mehrere Dimensionen mit den Kennzeichnungen "S" oder "U" angeben. Sie können die Kennzeichnungen "C", "B" und "T" jeweils höchstens einmal verwenden. Die Software ignoriert nachstehende Singleton-Dimensionen "U" nach der zweiten Dimension.

Weitere Informationen finden Sie unter Deep Learning Data Formats.

Standardmäßig verwendet der Parameter das vom Netz erwartete Datenformat.

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie den Network-Parameter auf Network from MAT file, um ein trainiertes dlnetwork-Objekt aus einer MAT-Datei zu importieren.

Programmatische Nutzung

Blockparameter: InputDataFormats
Typ: Zeichenvektor, Zeichenfolge
Werte: Geben Sie bei einem Netz mit einem oder mehreren Eingängen Text im folgenden Format an: "{'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}". Geben Sie bei einem Netz ohne Eingangsschicht und mit mehreren Eingangsports Text im folgenden Format an: "{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}".
Standard: Vom Netz erwartetes Datenformat. Weitere Informationen finden Sie unter Deep Learning Data Formats.

Verwenden Sie die Liste Activations, um die Schicht auszuwählen, aus der Merkmale extrahiert werden sollen. Die ausgewählte Schicht erscheint als Ausgangsport des Predict-Blocks.

Programmatische Nutzung

Blockparameter: Activations
Typ: Zeichenvektor, Zeichenfolge
Werte: Zeichenvektor der Form '{'layerName1',layerName2',...}'
Standard: ''

Tipps

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt in R2020b

alle erweitern