Image Classifier
Classifica i dati utilizzando una rete neurale addestrata di Deep Learning
Librerie:
Deep Learning Toolbox /
Deep Neural Networks
Descrizione
Il blocco Image Classifier prevede le etichette della classe per i dati al momento dell’input utilizzando la rete addestrata specificata attraverso il parametro del blocco. Questo blocco consente di caricare una rete preaddestrata nel modello Simulink® da un file MAT o da una funzione MATLAB®.
Esempi
Classify Images in Simulink Using GoogLeNet
Classify an image in Simulink® using the Image Classifier block. The example uses the pretrained deep convolutional neural network GoogLeNet to perform the classification.
Classify ECG Signals in Simulink Using Deep Learning
Use wavelet transforms and a deep learning network within a Simulink (R) model to classify ECG signals. This example uses the pretrained convolutional neural network from the Classify Time Series Using Wavelet Analysis and Deep Learning example of the Wavelet Toolbox™ to classify ECG signals based on images from the CWT of the time series data. For information on training, see Classify Time Series Using Wavelet Analysis and Deep Learning (Wavelet Toolbox).
Limitazioni
Il blocco Image Classifier non supporta le reti di sequenza e le reti a input multipli e output multipli (MIMO).
Il blocco Image Classifier non supporta la registrazione di file MAT.
Porte
Input
Un array numerico h per w per c per N, dove h, w e c sono rispettivamente l’altezza, la larghezza e il numero di canali delle immagini e N è il numero delle immagini.
Un array numerico N per numFeatures, dove N è il numero di osservazioni e numFeatures è il numero delle feature dei dati di input.
Se l’array contiene dei NaN, verranno propagati attraverso la rete.
Output
Etichette della classe prevista con il punteggio maggiore, restituite come un vettore enumerato Nx1 di etichette, dove N è il numero delle osservazioni.
Punteggi previsti, restituiti come una matrice K per N, dove K è il numero delle classi e N è il numero dello osservazioni.
Etichette associate ai punteggi previsti, restituite come una matrice N per K, dove N è il numero delle osservazioni e K è il numero delle classi.
Parametri
Specificare la sorgente per la rete addestrata. Selezionare una delle seguenti opzioni:
Network from MAT-file: importare una rete addestrata da un file MAT contenente un oggettodlnetwork.Network from MATLAB function: importare una rete preaddestrata da una funzione MATLAB. Ad esempio, per utilizzare una rete GoogLeNet preaddestrata, creare una funzionepretrainedGoogLeNetin un M-file di MATLAB, quindi importare questa funzione.function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
Utilizzo programmatico
Parametro del blocco: Network |
| Tipo: vettore di carattere, stringa |
Valori: 'Network from MAT-file' | 'Network from MATLAB function' |
Predefinito: 'Network from MAT-file' |
Questo parametro specifica il nome del file MAT che comprende la rete addestrata di Deep Learning da caricare. Se il file non è presente nel percorso MATLAB, utilizzare il pulsante Browse per individuare il file.
Dipendenze
Per abilitare questo parametro, impostare il parametro Network su Network from MAT-file.
Utilizzo programmatico
Parametro del blocco: NetworkFilePath |
| Tipo: vettore di carattere, stringa |
| Valori: Percorso o nome del file MAT |
Predefinito: 'untitled.mat' |
Questo parametro specifica il nome della funzione MATLAB per la rete preaddestrata di Deep Learning. Ad esempio, per utilizzare una rete GoogLeNet preaddestrata, creare una funzione pretrainedGoogLeNet in un M-file di MATLAB, quindi importare questa funzione.
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
Dipendenze
Per abilitare questo parametro, impostare il parametro Network su Network from MATLAB function.
Utilizzo programmatico
Parametro del blocco: NetworkFunction |
| Tipo: vettore di carattere, stringa |
| Valori: Nome della funzione MATLAB |
Predefinito: 'squeezenet' |
Dimensione dei mini-batch da utilizzare per la previsione, specificata come un numero intero positivo. Mini-batch di dimensioni maggiori richiedono più memoria, ma possono portare a previsioni più rapide.
Utilizzo programmatico
Parametro del blocco: MiniBatchSize |
| Tipo: vettore di carattere, stringa |
| Valori: interi positivi |
Predefinito: '128' |
Ridimensiona i dati alla porta di input alla dimensione di input della rete.
Utilizzo programmatico
Parametro del blocco: ResizeInput |
| Tipo: vettore di carattere, stringa |
Valori: 'off' | 'on' |
Predefinito: 'on' |
Abilita la porta di output ypred che fornisce l’etichetta con il punteggio più alto.
Utilizzo programmatico
Parametro del blocco: Classification |
| Tipo: vettore di carattere, stringa |
Valori: 'off' | 'on' |
Predefinito: 'on' |
Abilita le porte di output scores e labels che forniscono tutti i punteggi previsti e le etichette di classe associate.
Utilizzo programmatico
Parametro del blocco: Predictions |
| Tipo: vettore di carattere, stringa |
Valori: 'off' | 'on' |
Predefinito: 'off' |
Variabile contenente i nomi delle classi, specificata come vettore categorico, array di stringhe o array di celle dei vettori di carattere.
La dimensione dell'output della rete deve corrispondere al numero di classi.
Dipendenze
Per abilitare questo parametro, impostare il parametro Network su Network from MAT-file per importare un oggetto addestrato dlnetwork da un file MAT.
Utilizzo programmatico
Parametro del blocco: classNames |
| Tipo: nome variabile di un vettore categorico, di un array di stringhe o di un array di celle dei vettori di carattere. |
| Valori: Nome di una variabile contenente i nomi delle classi, specificata come vettore categorico, array di stringhe o array di celle dei vettori di carattere. |
Predefinito: La variabile classNames del workspace. |
Suggerimenti
È possibile accelerare le simulazioni con la generazione di codice sfruttando la libreria Intel® MKL-DNN. Per ulteriori dettagli, vedere Acceleration for Simulink Deep Learning Models.
Funzionalità estese
Note sull’utilizzo e sulle limitazioni:
Per generare codice C generico che non dipende da librerie di terze parti, in Configuration Parameters > categoria generale Code Generation, impostare il parametro Language su
C.Per generare codice C++, in Configuration Parameters > categoria generale Code Generation, impostare il parametro Language su
C++. Per specificare la libreria target per la generazione di codice, in Code Generation > categoria Interface, impostare il parametro Target Library. Impostando questo parametro suNonesi genera codice C++ generico che non dipende da librerie di terze parti.Per un elenco delle reti e dei livelli supportati per la generazione di codice, vedere Networks and Layers Supported for Code Generation (MATLAB Coder).
Note sull’utilizzo e sulle limitazioni:
Il parametro Language in Configuration Parameters > categoria generale Code Generation deve essere impostato su
C++.Per un elenco delle reti e dei livelli supportati per la generazione di codice CUDA®, vedere Supported Networks, Layers, and Classes (GPU Coder).
Per saperne di più sulla generazione di codice per i modelli Simulink contenenti il blocco Image Classifier, vedere Code Generation for a Deep Learning Simulink Model to Classify ECG Signals (GPU Coder).
Cronologia versioni
Introdotto in R2020bA partire dalla release R2024a, non è più consigliato utilizzare gli oggetti SeriesNetwork e DAGNetwork. Questo suggerimento indica che gli input SeriesNetwork e DAGNetwork al blocco Image Classifier non sono consigliati. Utilizzare invece gli oggetti dlnetwork. Gli oggetti dlnetwork presentano questi vantaggi:
Gli oggetti
dlnetworksono un tipo di dati unificato che supporta la costruzione di reti, la previsione, l'addestramento integrato, la visualizzazione, la compressione, la verifica e i loop di addestramento personalizzati.Gli oggetti
dlnetworksupportano una gamma più ampia di architetture di rete che è possibile creare o importare da piattaforme esterne.La funzione
trainnetsupporta gli oggettidlnetworkche consentono di specificare le funzioni di perdita con facilità. È possibile scegliere tra le funzioni di perdita integrate o specificare una funzione di perdita personalizzata.L'addestramento e la previsione con gli oggetti
dlnetworkè generalmente più veloce dei workflowLayerGraphetrainNetwork.
Il blocco Simulink modella con gli oggetti dlnetwork che si comportano in modo diverso. I punteggi previsti sono restituiti come matrice K per N, dove K è il numero di classi e N è il numero di osservazioni. Se è presente un modello del blocco Simulink con un oggetto SeriesNetwork o DAGNetwork, seguire questi passaggi per utilizzare invece un oggetto dlnetwork:
Convertire l'oggetto
SeriesNetworkoDAGNetworkin undlnetworkutilizzando la funzionedag2dlnetwork.Definire una variabile del workspace contenente i nomi delle classi degli output di rete corrispondenti al parametro del blocco Class names workspace variable.
Trasporre i punteggi previsti utilizzando un blocco transpose su un array N per K, dove N è il numero delle osservazioni e K è il numero delle classi.
Vedi anche
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

