Main Content

googlenet

(Déconseillé) Réseau de neurones à convolution GoogLeNet

  • GoogLeNet network architecture

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

Description

GoogLeNet est un réseau de neurones à convolution d’une profondeur de 22 couches. Vous pouvez charger une version préentraînée du réseau entraîné sur les jeux de données ImageNet [1] ou Places365 [2] [3]. Le réseau entraîné sur ImageNet classe des images dans 1 000 catégories d’objets, par exemple un clavier, une souris, un crayon et de nombreux animaux. Le réseau entraîné sur Places365 est similaire au réseau entraîné sur ImageNet, mais classe des images dans 365 catégories de lieux différentes, par exemple un champ, un parc, une piste d’atterrissage et un hall d'entrée. Ces réseaux ont appris des représentations avec différentes caractéristiques pour une grande variété d’images. Les réseaux préentraînés ont tous les deux une taille d’image en entrée de 224 x 224. Pour plus de réseaux pré-entraînés dans MATLAB®, veuillez consulter Pretrained Deep Neural Networks.

exemple

net = googlenet renvoie un réseau GoogLeNet entraîné sur le jeu de données ImageNet.

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

net = googlenet('Weights',weights) renvoie un réseau GoogLeNet entraîné sur le jeu de données ImageNet ou Places365. La syntaxe googlenet('Weights','imagenet') (par défaut) est équivalente à googlenet.

Le réseau entraîné sur ImageNet nécessite le support package Deep Learning Toolbox Model for GoogLeNet Network. Le réseau entraîné sur Places365 nécessite le support package Deep Learning Toolbox Model for Places365-GoogLeNet Network. Si le support package requis n’est pas installé, la fonction propose un lien de téléchargement.

lgraph = googlenet('Weights','none') renvoie l’architecture du réseau GoogLeNet 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 GoogLeNet Network.

Saisissez googlenet en ligne de commande.

googlenet

Si le support package Deep Learning Toolbox Model for GoogLeNet Network n’est pas installé, la fonction propose 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 googlenet en ligne de commande. Si le support package requis est installé, la fonction renvoie un objet DAGNetwork.

googlenet
ans = 

  DAGNetwork with properties:

         Layers: [144×1 nnet.cnn.layer.Layer]
    Connections: [170×2 table]

Visualisez le réseau avec Deep Network Designer.

deepNetworkDesigner(googlenet)

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 d'entrée

réduire tout

Source des paramètres du réseau, définie par 'imagenet', 'places365' ou 'none'.

  • Si weights est égal à 'imagenet', le réseau a des poids entraînés sur le jeu de données ImageNet.

  • Si weights est égal à 'places365', le réseau a des poids entraînés sur le jeu de données Places365.

  • Si weights est égal à 'none', l’architecture du réseau non entraîné est renvoyée.

Exemple : 'places365'

Arguments de sortie

réduire tout

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

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

Références

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

[2] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Antonio Torralba, and Aude Oliva. "Places: An image database for deep scene understanding." arXiv preprint arXiv:1610.02055 (2016).

[3] Places. http://places2.csail.mit.edu/

[4] Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. "Going deeper with convolutions." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1-9. 2015.

Capacités étendues

Historique des versions

Introduit dans R2017b

réduire tout

R2024a: Déconseillé

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

Il n’est pas prévu de supprimer le support de la fonction googlenet. 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.

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

DéconseilléRecommandé
net = googlenet;net = imagePretrainedNetwork("googlenet");
net = googlenet(Weights="places365");net = imagePretrainedNetwork("googlenet-places365")
net = googlenet(Weights="none");net = imagePretrainedNetwork("googlenet",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.