Main Content

resnet50

(Déconseillé) Réseau de neurones à convolution ResNet-50

  • ResNet-50 architecture

L’utilisation de resnet50 est déconseillée. Utilisez la fonction imagePretrainedNetwork à la place et spécifiez le modèle "resnet50". Pour plus d’informations, veuillez consulter Historique des versions.

Description

ResNet-50 est un réseau de neurones à convolution d’une profondeur de 50 couches. Vous pouvez charger une version du réseau de neurones préentraînée sur plus d’un million d’images de la base de données ImageNet [1]. Le réseau de neurones préentraîné peut classer des images dans 1 000 catégories d’objets, par exemple un clavier, une souris, un crayon et de nombreux animaux. En conséquence, le réseau de neurones a appris des représentations avec de nombreuses caractéristiques pour une grande variété d’images. Le réseau de neurones a une taille d’image en entrée de 224 par 224. Pour plus de réseaux de neurones préentraînés dans MATLAB®, veuillez consulter Pretrained Deep Neural Networks.

exemple

net = resnet50 renvoie un réseau de neurones ResNet-50 entraîné sur le jeu de données ImageNet.

Cette fonction nécessite le support package Deep Learning Toolbox™ Model for ResNet-50 Network. Si ce support package n’est pas installé, la fonction propose un lien de téléchargement.

net = resnet50('Weights','imagenet') renvoie un réseau de neurones ResNet-50 entraîné sur le jeu de données ImageNet. Cette syntaxe est équivalente à net = resnet50.

lgraph = resnet50('Weights','none') renvoie l’architecture du réseau de neurones ResNet-50 non entraîné. Le modèle non entraîné ne nécessite pas de support package.

Exemples

réduire tout

Téléchargez et installez le support package Deep Learning Toolbox Model for ResNet-50 Network.

Saisissez resnet50 en ligne de commande.

resnet50

Si le support package Deep Learning Toolbox Model for ResNet-50 Network n’est pas installé, la fonction fournit un lien vers le support package nécessaire dans l’Add-On Explorer. Pour installer le support package, cliquez sur le lien, puis cliquez sur Install. Vérifiez que l’installation est réussie en saisissant resnet50 en ligne de commande. Si le support package requis est installé, la fonction renvoie un objet DAGNetwork.

resnet50
ans = 

  DAGNetwork with properties:

         Layers: [177×1 nnet.cnn.layer.Layer]
    Connections: [192×2 table]

Visualisez le réseau de neurones avec Deep Network Designer.

deepNetworkDesigner(resnet50)

Découvrez d’autres réseaux de neurones préentraînés dans Deep Network Designer en cliquant sur New.

Deep Network Designer start page showing available pretrained neural networks

Si vous devez télécharger un réseau de neurones, arrêtez-vous sur le réseau souhaité et cliquez sur Install pour ouvrir l’Add-On Explorer.

Arguments de sortie

réduire tout

Réseau de neurones à convolution ResNet-50 préentraîné, renvoyé comme un objet DAGNetwork.

Architecture du réseau de neurones à convolution ResNet-50 non entraîné, renvoyée comme un objet LayerGraph.

Références

[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.

Capacités étendues

Historique des versions

Introduit dans R2017b

réduire tout

R2024a: Déconseillé

L’utilisation de resnet50 est déconseillée. Utilisez la fonction imagePretrainedNetwork à la place et spécifiez "resnet50" comme modèle.

Il n’est pas prévu de supprimer le support de la fonction resnet50. Cependant, la fonction imagePretrainedNetwork propose des fonctionnalités supplémentaires qui facilitent les workflows d’apprentissage par transfert. Par exemple, vous pouvez spécifier le nombre de classes de vos données avec l’option numClasses. La fonction renvoie un réseau prêt pour un nouvel apprentissage sans nécessiter de modification.

La fonction imagePretrainedNetwork renvoie le réseau comme un objet dlnetwork qui ne stocke pas les noms de classes. Pour obtenir les noms de classes du réseau préentraîné, utilisez le deuxième argument de sortie de la fonction imagePretrainedNetwork.

Le tableau suivant indique quelques utilisations courantes de la fonction resnet50 et comment mettre à jour votre code pour qu’il utilise la fonction imagePretrainedNetwork à la place.

DéconseilléRecommandé
net = resnet50;[net,classNames] = imagePretrainedNetwork("resnet50");
net = resnet50(Weights="none");net = imagePretrainedNetwork("resnet50",Weights="none");

imagePretrainedNetwork renvoie un objet dlnetwork, ce qui présente également les avantages suivants :

  • Un objet dlnetwork est un type de données unifié qui supporte la création de réseau, la prédiction, l’apprentissage prédéfini, la visualisation, la compression, la vérification et les boucles d’apprentissage personnalisées.

  • Les objets dlnetwork supportent un plus large éventail d’architectures de réseau que vous pouvez créer ou importer à partir de plateformes externes.

  • La fonction trainnet supporte les objets dlnetwork, ce qui vous permet de spécifier facilement des fonctions de perte. Vous pouvez sélectionner une fonction de perte prédéfinie ou spécifier une fonction de perte personnalisée.

  • L’apprentissage et la prédiction avec des objets dlnetwork sont généralement plus rapides que les workflows LayerGraph et trainNetwork.

Pour entraîner un réseau de neurones spécifié comme un objet dlnetwork, utilisez la fonction trainnet.