Bonjour et bienvenue dans ce tutoriel sur Python.
La prochaine étape consiste donc à faire en sorte que les compteurs fonctionnent, ce qui nous donnera ce que nous voulons.
C'est ce nombre de neurones dans cet énorme vecteur après l'application des convolutions.
C'est la seule information manquante dont nous avons besoin pour le moment et nous allons l'obtenir avec la fonction.
Faisons donc cette fonction que nous allons appeler elle compte.
Et ces neurones de base très simplement.
Et quelle est cette fonction compte neurones va prendre comme arguments.
Eh bien, il va prendre l'objet lui-même, mais ensuite, il faudra autre chose, car le nombre de neurones
de sortie dans la couche aplatie ne dépend en réalité que d'une chose.
Cela dépend des dominations de l'image d'entrée d'origine, celle qui se situe au tout début du réseau
de neurones.
Ainsi, le seul argument dont nous avons besoin pour le moment est en réalité que le moment mentionne la synchronisation des images d'entrée.
Donnons donc un nom à cet argument représentant le losange et l'image d'entrée.
Et nous allons appeler cela une image.
D'accord.
Et je peux vous dire maintenant que les dimensions réelles des images d’entrée provenant de Dume vont
être 80 x 80.
Nous allons réduire la taille des images d'origine à 80 sur 80, ce qui constituera le
format des images destinées au réseau neuronal.
Donc, leur image va en réalité être un 80 80 et celui correspond au fait que nous travaillons avec des images
en noir et blanc.
C’est avec un seul canal, donc les images vont être corrélées au total 80 et 80.
D'accord.
C'est donc le seul argument dont nous avons besoin.
Et maintenant, scrutons les neurones.
Alors, comment vas-tu faire ça?
Tout d’abord, nous n’avons actuellement aucune image en entrée.
Nous n'avons aucune image catastrophique que nous puissions importer.
Nous allons le faire plus tard.
La première chose à faire est donc de créer une fausse image, mais cela a permis de créer des introns de 80 à 80.
Nous allons créer cette fausse image avec de faux pixels et nous donnerons toujours le
nombre que nous voulons, car ce nombre ne dépend que des dimensions et non des pixels contenus dans
les images.
Donc, cela crée simplement une fausse image pour commencer.
Et ensuite, nous allons calculer le nombre de neurones que nous voulons.
Donc, le truc pour créer une fausse image est bien, nous allons l'appeler x.
Tout d'abord, nous allions utiliser la torche avec Rand parce que vous savez que nous allons insérer des pixels
aléatoires dans ces images. Nous utilisons ces fonctions aléatoires à partir de torche, qui est la fonction rand.
Ensuite, à l'intérieur, nous allons entrer car vous pouvez voir les damnations des images.
C'est un 80 80.
Mais puisque nous allons placer cette image dans le réseau de neurones et que vous vous en souvenez, le réseau de
neurones ne peut accepter que des lots d’états d’entrée qui sont ici des lots d’images d’entrée.
Nous allons créer ces faux diamants dans lesquels nous pouvons directement exécuter cette fonction d'exécution.
En fait, nous commençons tout juste avec celui qui correspond au lot, puis
nous pouvons simplement le placer tous les 188 correspondant aux dominations de l'image d'entrée.
Et comme vous l'avez compris, ces désignations sont contenues dans cette image, l'argument qui représente
ce tableau 1 80 80.
Il suffit donc d’ajouter des images.
Mais pour pouvoir passer les éléments de la table parce que vous savez maintenant, Image les est un double
en tant que liste d'arguments d'une fonction.
Nous devons ajouter ici avant l'image qu'il y a avant que Apple Store, le magasin lui permette de transmettre à Apple les
éléments de l'image avec lui en tant que liste d'arguments pour la fonction.
Et comme vous pouvez le voir, c’est exactement ce qui est spécifié ici avec le magasin et le diamant.
Très bien, cela créera une image de faux pixels qui n'aura rien à voir avec les images.
Mais encore une fois, nous serons toujours en mesure d’obtenir le nombre final de
neurones et la dernière chose dont nous devons nous souvenir est de convertir ce vecteur d’entrée en une variable de la flamme, car cela ira dans
le réseau de neurones.
D'accord.
Donc, cela représente maintenant une image d'entrée de pixels aléatoires qui vient d'être convertie en une image viable et qui ira maintenant
dans le réseau de neurones.
Et plus spécifiquement les couches convolutives du réseau de neurones car, puisque nous n’avons besoin
que du nombre de neurones après l’application des convolutions, nous ne ferons que remonter aux convolutions 3.
Donc, jusqu’à la troisième couche convolutive.
Et nous n'entrerons pas dans les deux connexions complètes ici.
Et c’est parce que le nombre de neurones que nous voulons est compris entre la convolution 3 et f. c 1.
Bon, maintenant que nous avons une image d'entrée avec les bonnes mentions Eh bien, il est temps de propager cette image
dans le réseau de neurones pour atteindre la couche aplatie, puis nous allons obtenir les neurones dans la couche aplatie
et nous allons simplement obtenir le L'information que nous voulons, c'est le nombre de neurones dans cette
couche aplatie.
Alors maintenant, nous devons faire exactement ce que nous faisons dans une fonction avancée.
Nous devons propager les signaux dans le réseau neuronal, mais uniquement dans les couches de convolution, jusqu'à
atteindre la couche d'inondation.
Alors faisons ceci.
Nous allons mettre à jour x maintenant x est l'image d'entrée et avec le deuxième X ici, X deviendra bien la
première couche convolutive.
Et maintenant, nous devons suivre la première étape du processus en trois étapes, à savoir l’application de la déconvolution aux
images d’entrée.
Ensuite, lors de la deuxième étape, nous appliquons l’élagage mixte aux images compliquées et aux inserts que nous
activons les neurones dans ces images compliquées puled. Le x deviendra cette première convolution, il est composé de
tous ces pools complétés d’Energis.
Faisons donc cette première étape pour appliquer la première convolution à la convolution aux images d’entrée.
Donc ce que nous faisons est de prendre notre propre convolution qui convoite celle de Lucian que nous allons appliquer à nos images
d’entrée qui sont représentées jusqu’à présent par x.
C'est donc la première fois que la première est faite maintenant.
Dans un deuxième temps, nous allons appliquer le spooling à nos images alambiquées retournées par convolution lorsque X et deux arrachements atteignent
leur point culminant. Nous allons prendre une fonction du module fonctionnel.
Donc, nous prenons le raccourci que cela et ensuite nous allons utiliser la fonction Max pool à D.
C’est celui que nous avons mis en auto-convolution un X dans la parenthèse du tirant maximal au tirant d’avance parce que nous
jouons au tirage suivant dans les images alambiquées.
Mais cette fonction suivante prend des arguments supplémentaires qui sont d'abord la taille du noyau.
Encore une fois, c’est la taille de la fenêtre qui glisse dans vos images et qui prend le maximum de
pixels dans chaque diapositive.
Cela détectera donc toujours les caractéristiques car celles-ci sont associées à une valeur élevée du pixel dans
les tableaux.
Comme vous dites intuition des conférences.
Donc, ce premier besoin humain documenté est la taille du noyau.
Et nous allons en prendre trois.
C'est un choix commun pour la taille du noyau.
Et ensuite, nous devons définir les progrès que vous connaissez en termes de nombre de pixels que les images vont glisser.
Et nous allons faire un pas de deux.
Encore une fois, c'est un choix commun.
Alors on y va.
Maintenant, la deuxième étape est terminée.
Et maintenant, passons à la troisième étape qui consiste à activer tous les neurones de ce pool et les
images alambiquées.
Et cette première couche de convolution et pour refaire cela, nous allons appliquer une fonction à tout cela.
Et donc ici et reprenons parce que nous allons prendre une autre fonction qui, comme vous l'avez
peut-être deviné, sera une fonction d'activation mais laquelle.
Comme d’habitude, la fonction d’activation sera corrigée et vous vous souviendrez peut-être du nom de cette
fonction.
Nous y voilà.
C'est celui-là.
Nous appliquons donc vraiment à nos images compliquées mises en commun, c’est tout cela.
D'accord.
Et c'est tout.
Trois étapes effectuées.
C'était très rapide.
Alors rappelez-vous que la façon dont nous devons regarder ceci est d’abord d’appliquer la convolution à nos images d’entrée,
puis nous appliquons le tirage Max à nos images alambiquées obtenues avec une convolution.
Ensuite, nous activons les neurones de toute cette couche convolutive de pool avec la fonction d’activation
du redresseur. Nous obtenons ainsi notre première couche convolutive sur laquelle était tiré un point culminant et dans laquelle les
neurones sont maintenant activés.
Et donc, en gros, il propage les signaux de la première couche convolutive à
la suivante.
Et en parlant de la prochaine, c'est exactement ce dont nous allons nous occuper maintenant.
Nous allons faire la même chose que nous venons de faire lors de la première convolution vers la
deuxième couche de convolution pour propager à nouveau les signaux plus loin dans le réseau de neurones en activant les neurones de la
deuxième couche de convolution.
Mais avant cela, nous devons obtenir cette couche convolutionnelle.
Nous allons donc appliquer la convolution à X qui est maintenant la première couche de convolution.
Bien, nous allons appliquer la convolution à 2 x pour obtenir la deuxième couche convolutive, après quoi
Max le tirera.
Et puis finalement activer Sirat.
Alors faisons ceci.
En fait, il est très facile de copier cela et de le coller ci-dessous.
Bien entendu, nous devons également remplacer la convolution une par convolution.
Et c'est parti.
C'est en fait prêt à voir très facile.
Et maintenant, avec cette ligne, nous propagons les signaux de la deuxième convolution vers la suivante,
qui sera la troisième convolution.
Et pour obtenir cette troisième convolution, vous devrez l'appliquer à nouveau.
Je copie donc le collage ci-dessous et remplace la convolution par la convolution 3, ce qui est fait, n'est-ce
pas si pratique?
Nous propagons les signaux dans les trois lettres de convolution dans une lampe de poche.
Merci à cette structure géniale.
Très bien si parfait.
Nous avons maintenant nos signaux propagés jusqu’à la troisième couche de convolution et après.
Et parler de cela nous amène à ce que nous recherchons.
Ce qui nous intéresse, c’est l’aplatissement.
Très bien, maintenant que nous avons notre troisième convolution là-bas, c'est le dernier X ici.
Il est temps de nous aplatir.
Et c'est exactement ce que nous allons faire.
Nous allons maintenant aplatir tous les pixels de cette troisième couche de convolution, c'est-à-dire que nous allons prendre tous
les pixels de tous les canaux de la troisième couche de convolution.
Nous allons les mettre l'un après l'autre dans un énorme vecteur.
Et bien sûr, cet énorme vecteur ne sera rien d’autre que la couche d’aplatissement et
nous utiliserons en même temps une astuce pour obtenir le nombre de neurones dans cet aplatissement.
C'est ce que nous recherchons.
C'est le nombre de neurones qui nous manque et, par conséquent, retournons directement ce que nous voulons et,
dans ce retour, nous allons aplatir la troisième couche de convolution et obtenir le même nombre de neurones dans
cette couche d'aplatissement.
Nous allons donc prendre X. qui est notre troisième convolution ici.
Nous allons prendre ici tous les canaux de la troisième convolution et utiliser une
fonction qui est la fonction de taille pour aplatir tous les pixels de tous ces canaux dans un même vecteur énorme.
Et si le truc que vous pouvez trouver dans la pitié regarder le labeur.
Bien, prenons d’abord les données de X parce que X est une structure spéciale, vous savez que c’est un voivode de torche. Il
a donc une structure assez complexe.
Mais nous devons d’abord y accéder avec des données, puis voir ce qu’il contient.
Nous utilisons donc cette fonction de vue et nous devons maintenant accéder à ce que
nous recherchons, à savoir avec les arguments 1 et moins 1.
Vous devez comprendre ce qu'il y a à l'intérieur de la structure.
Mais vous pouvez simplement comprendre que c'est comme cela que nous allons obtenir ce nombre de neurones et
que pour finir, nous devons ajouter de la taille entre parenthèses et à l'intérieur des entrées 1.
En gros, ce que nous faisons ici, c'est que nous prenons tous les pixels de tous les canaux et que
nous les plaçons les uns après les autres dans cet énorme vecteur qui sera l'entrée du réseau entièrement connecté.
C'est essentiellement ce que fait la taille.
Et avec cela, nous pouvons obtenir le nombre de nouveaux que nous recherchons.
D'accord, maintenant nous obtenons ce que nous voulons.
Nous pouvons donc enfin remplacer ici les neurones numériques par ce que cette fonction renvoie si elle
est appliquée au format des images.
C'est un par 80 par 80.
Nous devons donc maintenant remplacer les neurones numériques en prenant la fonction de neurones de comptage
que nous appliquons au format des images, soit 80 et 80 au total.
Et c'est parti.
Et bien sûr, nous ne nous oublions pas nous-mêmes, car Count neuron est en fait une méthode du test CNN.
Nous devons donc ajouter le.
Et maintenant, l'avertissement devrait disparaître.
Et c'est parti.
Maintenant tout va bien.
Nous obtenons l'architecture du réseau de neurones sans rien manquer et nous avons cette fonction de combinaison si vous
savez que vous voulez essayer d'autres architectures et que vous ne voulez pas compter le nombre de
neurones manuellement.
Si vous utilisez simplement cette fonction, vous la lisez au format de vos images.
Et cela vous donnera directement ce que vous voulez.
C'est le nombre de neurones dans la couche d'inondation sans rien faire.
Et partout où l’architecture est cruciale.
Et maintenant, nous en avons terminé avec la première grande étape importante de ce cerveau que nous faisons et nous avons une dernière
étape.
C’est une dernière fonction à créer, qui sera la principale fonction de transmission.
Nous allons donc propager les signaux du début du cerveau qui vont des yeux
à la couche de sortie qui se trouve après la deuxième connexion.
Nous le ferons donc dans les deux prochaines pages et d’ici là notre IA.