Main Content

vgg16

Rete neurale convoluzionale VGG-16 (non consigliata)

  • VGG-16 network architecture

vgg16 non è consigliata. Utilizzare invece la funzione imagePretrainedNetwork e specificare il modello "vgg16". Per ulteriori informazioni, vedere Cronologia della versione.

Descrizione

VGG-16 è una rete neurale convoluzionale con 16 livelli di profondità. È possibile caricare una versione preaddestrata della rete, addestrata su oltre un milione di immagini del database di ImageNet [1]. La rete preaddestrata è in grado di classificare le immagini in 1000 categorie di oggetti, come tastiera, mouse, matita e molti animali. Di conseguenza, la rete ha appreso rappresentazioni ricche di feature per un'ampia gamma di immagini. La rete ha una dimensione di input dell'immagine di 224x224. Per ulteriori reti addestrate in MATLAB®, vedere Reti neurali profonde preaddestrate.

esempio

net = vgg16 restituisce una rete VGG-16 addestrata sul set di dati di ImageNet.

Questa funzione richiede il pacchetto di supporto Deep Learning Toolbox™ Model for VGG-16 Network. Se il pacchetto di supporto non è installato, la funzione fornisce un link per il download.

net = vgg16('Weights','imagenet') restituisce una rete VGG-16 addestrata sul set di dati di ImageNet. Questa sintassi è equivalente a net = vgg16.

layers = vgg16('Weights','none') restituisce l'architettura della rete VGG-16 non addestrata. Il modello non addestrato non richiede il pacchetto di supporto.

Esempi

comprimi tutto

Scaricare e installare il pacchetto di supporto Deep Learning Toolbox Model for VGG-16 Network.

Digitare vgg16 nella riga di comando.

vgg16

Se il pacchetto di supporto Deep Learning Toolbox Model for VGG-16 Network non è installato, la funzione fornisce un link al pacchetto di supporto richiesto nell’Add-On Explorer. Fare clic sul link per installare il pacchetto di supporto, quindi fare clic su Install. Verificare che l’installazione sia stata eseguita correttamente digitando vgg16 nella riga di comando.

vgg16
ans = 

  SeriesNetwork with properties:

    Layers: [41×1 nnet.cnn.layer.Layer]

Visualizzare la rete con Deep Network Designer.

deepNetworkDesigner(vgg16)

Scoprire altre reti neurali preaddestrate in Deep Network Designer facendo clic su New.

Deep Network Designer start page showing available pretrained neural networks

Se è necessario scaricare una rete neurale, fermarsi sulla rete neurale desiderata e fare clic su Install per aprire l’Add-On Explorer.

Argomenti di output

comprimi tutto

Rete neurale convoluzionale VGG-16 preaddestrata, restituita come un oggetto SeriesNetwork.

Architettura della rete neurale convoluzionale VGG-16 non addestrata, restituita come un array di Layer.

Riferimenti

[1] ImageNet. http://www.image-net.org.

[2] Russakovsky, O., Deng, J., Su, H., et al. “ImageNet Large Scale Visual Recognition Challenge.” International Journal of Computer Vision (IJCV). Vol 115, Issue 3, 2015, pp. 211–252

[3] Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556 (2014).

[4] Very Deep Convolutional Networks for Large-Scale Visual Recognition http://www.robots.ox.ac.uk/~vgg/research/very_deep/

Funzionalità estese

Cronologia versioni

Introdotto in R2017a

comprimi tutto

R2024a: Non consigliato

vgg16 non è consigliata. Utilizzare invece la funzione imagePretrainedNetwork e specificare "vgg16" come modello.

Non è prevista la sospensione dell'assistenza per la funzione vgg16. Comunque, la funzione imagePretrainedNetwork presenta delle funzionalità aggiuntive che aiutano i workflow del transfer learning. Ad esempio, è possibile specificare il numero di classi nei dati utilizzando l'opzione numClasses; in questo modo, la funzione restituisce una rete pronta per essere riaddestrata senza bisogno di modifiche.

La funzione imagePretrainedNetwork restituisce la rete come oggetto dlnetwork che non memorizza i nomi delle classi. Per ottenere i nomi delle classi della rete preaddestrata, utilizzare il secondo argomento di output della funzione imagePretrainedNetwork.

Questa tabella mostra alcuni usi tipici della funzione vgg16 e come aggiornare il codice per utilizzare invece la funzione imagePretrainedNetwork.

Non consigliatoConsigliato
net = vgg16;[net,classNames] = imagePretrainedNetwork("vgg16");
net = vgg16(Weights="none");net = imagePretrainedNetwork("vgg16",Weights="none");

imagePretrainedNetwork restituisce un oggetto dlnetwork che presenta inoltre questi vantaggi:

  • Gli oggetti dlnetwork sono 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 dlnetwork supportano una gamma più ampia di architetture di rete che è possibile creare o importare da piattaforme esterne.

  • La funzione trainnet supporta gli oggetti dlnetwork che 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 workflow LayerGraph e trainNetwork.

Per addestrare una rete neurale specificata come oggetto dlnetwork, utilizzare la funzione trainnet.