Main Content

resnet18

Rete neurale convoluzionale ResNet-18 (non consigliata)

  • ResNet-18 network architecture

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

Descrizione

ResNet-18 è una rete neurale convoluzionale con 18 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 = resnet18 restituisce una rete ResNet-18 addestrata sul set di dati di ImageNet.

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

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

lgraph = resnet18('Weights','none') restituisce l'architettura della rete ResNet-18 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 ResNet-18 Network.

Digitare resnet18 nella riga di comando.

resnet18

Se il pacchetto di supporto Deep Learning Toolbox Model for ResNet-18 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 resnet18 nella riga di comando. Se il pacchetto di supporto richiesto è installato, la funzione restituisce un oggetto DAGNetwork.

resnet18
ans = 

  DAGNetwork with properties:

         Layers: [72×1 nnet.cnn.layer.Layer]
    Connections: [79×2 table]

Visualizzare la rete con Deep Network Designer.

deepNetworkDesigner(resnet18)

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 ResNet-18 preaddestrata, restituita come un oggetto DAGNetwork.

Architettura della rete neurale convoluzionale ResNet-18 non addestrata, restituita come un oggetto LayerGraph.

Riferimenti

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

[2] He, Kaiming, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. "Deep residual learning for image recognition." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770-778. 2016.

Funzionalità estese

Cronologia versioni

Introdotto in R2018a

comprimi tutto

R2024a: Non consigliato

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

Non è prevista la sospensione dell'assistenza per la funzione resnet18. 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 resnet18 e come aggiornare il codice per utilizzare invece la funzione imagePretrainedNetwork.

Non consigliatoConsigliato
net = resnet18;[net,classNames] = imagePretrainedNetwork("resnet18");
net = resnet18(Weights="none");net = imagePretrainedNetwork("resnet18",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.