TensorFlow en une heure : reconnaissance de l'écriture manuscrite à l'aide de la vision par ordinateur | Manish Shivanandhan | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

TensorFlow en une heure : reconnaissance de l'écriture manuscrite à l'aide de la vision par ordinateur

teacher avatar Manish Shivanandhan, AI & Cybersecurity Engineer.

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Bienvenue dans ce cours

      1:16

    • 2.

      Tenseurs et flux de tenseur

      2:15

    • 3.

      Travailler avec Tensorflow

      6:18

    • 4.

      Générer et charger des tenseurs

      6:06

    • 5.

      Opérations de base à l'aide de Tensorflow

      8:27

    • 6.

      Codage à un chaud

      1:46

    • 7.

      Travailler avec les GPU et les TPU

      2:11

    • 8.

      Préparer le modèle

      8:26

    • 9.

      Fonction d'optimisation et de perte

      2:23

    • 10.

      Compiler et former le modèle

      3:45

    • 11.

      Prédire les chiffres manuscrits

      4:17

    • 12.

      Conclusion

      0:46

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

112

apprenants

2

projets

À propos de ce cours

Tensorflow est un programme qui aide les ingénieurs à créer et à former des modèles d'apprentissage automatique. Dans ce cours, vous apprendrez à Tensorflow et comment créer des modèles d'IA à l'aide de TensorFlow.

TensorFlow est flexible et puissante. Il peut fonctionner avec n'importe quel type de jeu de données : petit ou grand. Dans ce cours, vous apprendrez ce que sont les Tenseurs, ce qu'est Tensorflow et comment y travailler en détail.

Tensorflow peut également fonctionner avec des GPU et des TPU, qui sont des types de puces informatiques pour étendre les fonctionnalités de TensorFlow. Ces puces permettent à Tensorflow de fonctionner plus rapidement, ce qui est utile lorsque vous avez beaucoup de données avec lesquelles travailler.

À la fin du cours, vous aurez une bonne compréhension de ce que TensorFlow est et de la façon de l'utiliser pour modéliser les données. Nous allons également créer un projet de vision par ordinateur dans lequel nous allons créer un modèle de tensorflow simple pour reconnaître les images manuscrites.

Voici quelques ressources dont vous pourriez avoir besoin.

Carnet pour Google colab : https://colab.research.google.com/drive/1y-R4PnqIAcjB2Y41CwbeYM6sWRZVHRht #scrollTo=AiXxTaIrGXB8

Bases du Machine learning : https://www.youtube.com/watch ? v=ukzFI9rgwfU

Bases du Deep Learning : https://www.youtube.com/watch ? v=6M5VXKLf4D4

Commençons !

Rencontrez votre enseignant·e

Teacher Profile Image

Manish Shivanandhan

AI & Cybersecurity Engineer.

Enseignant·e

AI & Cybersecurity engineer. Teaches 5K+ students about ethical hacking, machine learning, and building apps & games with Flutter. Author at Educative.io and Freecodecamp. 

Voir le profil complet

Level: Intermediate

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Bienvenue dans ce cours: Bonjour, bienvenue dans ce cours sur TensorFlow. Tensorflow est un programme qui aide les ingénieurs à créer et à former des modèles d'apprentissage automatique. Dans ce cours, vous découvrirez les tenseurs et comment travailler avec des danseurs à l'aide de TensorFlow. Nous allons commencer par examiner ce que sont les tenseurs. Nous apprendrons ensuite comment construire des tenseurs à l'aide de données. Nous verrons ensuite comment effectuer des opérations mathématiques de base et intermédiaires à l'aide de TensorFlow. Tensorflow peut également fonctionner avec les GPU et les TPU, qui sont des types de puces informatiques conçus pour étendre les capacités denses et faibles. Ces puces accélèrent le fonctionnement de TensorFlow, ce qui est utile lorsque vous avez beaucoup de données à traiter. À la fin du cours, vous aurez une bonne compréhension de ce qu'est TensorFlow et de la manière dont nous l'utilisons pour créer des modèles d'apprentissage en profondeur. Nous élaborerons également un projet de vision par ordinateur dans le cadre duquel nous créerons un modèle TensorFlow simple pour reconnaître les images manuscrites. Il s'agit d'un cours de niveau débutant, mais je suppose des connaissances de base en python et en apprentissage automatique. Vous n'avez pas besoin d'être un expert en apprentissage automatique. Mais si vous comprenez comment les données sont utilisées pour former des modèles à des fins de prévision, vous serez en mesure de comprendre ce cours. Si ce n'est pas le cas, vous trouverez des liens vers quelques vidéos d'introduction dans la description du cours. Si vous êtes bloqué à un moment ou à un autre du cours, envoyez-moi un e-mail à admonition shiva.com, et je vous recontacterai dès que possible. Alors allons-y. 2. Tenseurs et flux de tenseur: Dans cette leçon, nous verrons ce qu'est un tenseur, suivi par la populaire bibliothèque de deep learning tensorflow. Voyons d'abord ce qu'est un tenseur. Une explication simple serait qu' un tenseur est un tableau multidimensionnel. Par exemple, nous avons des scalaires, qui ne sont qu'un seul nombre. Ensuite, nous avons un vecteur également appelé tableau. Ensuite, nous avons une matrice qui sera un tableau bidimensionnel. Enfin, nous avons une réponse qui est un tableau à n dimensions, ce qui signifie qu'il peut avoir n'importe quel nombre de dimensions. Dans TensorFlow, tout peut être considéré comme un tenseur, y compris un scalaire. Un scalaire sera un tenseur de dimension zéro, un vecteur de dimension un et une matrice de dimension deux. Cela est maintenant utile car nous ne sommes pas limités à travailler avec des ensembles de données complexes dans TensorFlow. Tensorflow peut gérer n'importe quel type de données et les transmettre à des modèles d'apprentissage automatique. Tensorflow est une bibliothèque de logiciels open source créer des réseaux de neurones profonds. C'est l'équipe de Google Brain qui l'a créée, et c'est aujourd'hui la bibliothèque d'apprentissage en profondeur la plus populaire du marché. Vous pouvez utiliser TensorFlow pour créer des modèles d'IA notamment la reconnaissance d'images et de voix, traitement du langage naturel et la modélisation prédictive. Tensorflow utilise un graphe de flux de données pour représenter les calculs. En termes simples, TensorFlow a facilité la création modèles d' apprentissage automatique complexes et prend en charge une grande partie du travail en coulisse, ce qui le rend utile lors de la création et formation de tout type de modèle d'apprentissage en profondeur. Diencephalon gère également le calcul, y compris la parallélisation et l'optimisation pour le compte de l'utilisateur. Tableau dispose également d'une API de haut niveau appelée Keras. Get us était initialement un projet autonome qui est désormais disponible dans la bibliothèque TensorFlow. Get us permet de définir et de former facilement des modèles. Bien que TensorFlow offre meilleur contrôle sur les calculs, TensorFlow prend en charge une large gamme de matériels, notamment des processeurs, des GPU et des TPU. TPU sont des unités de traitement tensoriel conçues spécifiquement pour les couches denses et TensorFlow. Vous pouvez également exécuter TensorFlow sur des appareils mobiles et appareils IoT en utilisant le principe de TensorFlow Lite dispose également d'une grande communauté de développeurs. Il est mis à jour avec . Il dispose également d'une grande communauté de développeurs. Il est mis à jour avec de nouvelles fonctionnalités et permet aux personnes obèses presque tous les mois. J'espère que cette vidéo vous a aidé à comprendre les tenseurs et TensorFlow en détail. La semaine prochaine, nous commencerons à travailler avec TensorFlow sur un bloc-notes Google Colab. 3. Travailler avec Tensorflow: Commençons à écrire du code. J'utiliserai un bloc-notes Google Colab et vous trouverez le lien vers ce bloc-notes rempli dans la description du cours. Les alphas connectent cet ordinateur portable au processeur. Attendons une minute. Maintenant, c'est l'initialisation et la grille. Il est connecté. Si tu ne sais pas. Les blocs-notes Google Colab nous aident à exécuter Python, puis à soumettre du code sur le Web. Il est beaucoup plus facile de travailler avec lui plutôt que de créer un environnement de développement local. Commençons maintenant par importer TensorFlow et imprimer le Washington. Vous pouvez appuyer sur Command Enter ou Abdomen pour exécuter le bloc de code. Super, nous utilisons un quotient égal à 0,9, 0,2. Si vous avez une version différente, ne vous inquiétez pas. Ils ne feront pas beaucoup de différence. Commençons par créer un scalaire à l'aide de tf.constant. tf.Constant est une fonction que nous allons utiliser pour charger le cours. Mais dans des scénarios réels, nous ne l'utiliserons pas beaucoup, car TensorFlow gérera une grande partie de la création de tensions à votre place. Mais pour l'instant, créons un scalaire. Il peut être codé en sept. Et imprimons-le. Vous pouvez voir que nous avons créé un scale-out avec la langue sept. Il n'a pas de forme parce que c'est juste une valeur unique. Et le type de données est un entier 32. Créons maintenant un vecteur dont l'entrée sera un tableau avec deux valeurs. Et maintenant, imprimons-le. Greg, nous pouvons constater que nous avons créé un vecteur de forme lorsque je travaillais sur le numérique. Essayons maintenant de créer une matrice. L'entrée sera un tableau bidimensionnel. Ensuite, nous en aurons 12, 30. Imprimons-le. Nous allons créer la matrice dont la forme est gamma2. Il s'agit d'un tableau bidimensionnel et les vecteurs de données sont entiers 32. Créons maintenant une densité, appelons-la densa de compréhension. Faites en sorte que tout soit basé sur la langue. Et imprimons-le. Vous pouvez voir que nous avons créé un véritable tenseur, qui est également un réseau tridimensionnel, et qu'il a une forme de trois par un par trois. C'est ainsi que nous créons un véritable densificateur en utilisant tf.constant. Nous pouvons voir que le type de données est un entier 32. Et si nous voulions utiliser un type de données différent, disons float 32s. Nous pouvons utiliser ce type de données comme argument et mot de passe lors de la création d'une escarre. Nous allons simplement copier que les symptômes sont revenus. Je l'appellerais. Donc, les mêmes valeurs, mais je vais spécifier que le type de données est le rendu flottant. Vous pouvez voir que maintenant les données filtrées peuvent être modifiées lorsque vous travaillez avec TensorFlow. Si vous rencontrez des problèmes lorsque vous travaillez avec de grands modèles et des principes scientifiques, il peut les résoudre en modifiant la base de données. Dans des scénarios réels, nous aurons affaire à des tenseurs de dimensions plus élevées et à des formes encore plus grandes. Dans les leçons suivantes, je vais également vous montrer comment convertir un ensemble de données du monde réel, tel qu'un groupe d'images, en tenseur. Nous avons vu tf.constant, qui est utilisé pour créer de la constante et de la sauce. C'est ce que vous utiliserez tout au long du cours. Mais si vous souhaitez créer une variable plus dense, vous pouvez utiliser la variable tf dot. La différence entre les constantes et les variables permet de modifier les valeurs d'une variable plus dense mais d'une constante. Vous ne pouvez donc pas changer le vernis. Créons une danseuse variable. Je vais utiliser le même ptérosaure et le qualifier de plus dense que d'utiliser la variable point F. Maintenant je vais l'imprimer. Vous pouvez voir que nous avons créé un tenseur variable ayant la même forme. Et ils le sont tous les deux dans votre W2. L'un des attributs les plus importants d' un tenseur est sa dimension. Regardons quelle est la dimension de chacun de ces vernis ou du bâton au vecteur. Imprimons la dimension en utilisant la propriété de fin. En eux. Le virulent. Nous pouvons voir qu'il s'agit d'une solution sans dimension, ce à quoi on s'attend, et vous pouvez regarder l'échelle. Dimensionnellement, il s'agit d'une valeur nulle car il ne s'agit que d'une valeur unique. Et pour l' outil de dimension Matrix AB , c'est parti. Et pour plus dense, l' exposition diamantaire serait-elle trois ? Les dimensions sont le nombre de colonnes. Par exemple, si vous utilisez un jeu de données pour calculer les prix des logements, vous saisirez le ciel, l'alimentation , l'emplacement et peut-être quelques autres entrées. Chacune de ces entrées sera appelée dimensions. Elles peuvent également être appelées fonctionnalités. J'espère donc que cette leçon vous a aidé à comprendre comment créer des tenseurs et trouver des attributs de base tels que des formes et des dimensions. Dans la leçon suivante, nous verrons comment générer des danseurs et nous verrons également comment la charge nous tend à partir des tableaux NumPy. 4. Générer et charger des tenseurs: Voyons maintenant comment générer des réponses. Dans la plupart des cas, vous ne créerez pas de tenseurs à partir de zéro. Vous devrez charger un ensemble de données, convertir d'autres ensembles de données tels que des tableaux NumPy en tenseurs ou générer des réponses. Voyons comment générer des tenseurs. Nous allons d'abord créer un tenseur avec des valeurs aléatoires. Vous pouvez procéder de deux manières courantes. Vous pouvez passer à une distribution normale ou générer une distribution uniforme des données. La distribution normale est une courbe en forme de cloche. Cela représente donc la distribution des données. Cela signifie que la plupart des données seront proches la moyenne et que moins de données s'éloigneront de la moyenne. Cela signifie essentiellement que la probabilité d'obtenir une valeur proche de la moyenne est plus élevée. La distribution uniforme est toutefois une ligne droite qui représente la distribution des données. Donc, toutes les valeurs peuvent-elles avoir une probabilité égale de se produire dans la plage donnée ? C'est encore une chose que vous devez savoir avant commencer à générer des valeurs aléatoires. C'est un concept appelé graine. La graine n'est qu'une valeur. Et si nous utilisons une valeur initiale, nous pouvons régénérer le même ensemble de données plusieurs fois. Vous savez donc que nous allons générer des valeurs aléatoires, n'est-ce pas ? Donc, si nous utilisons une graine, les mêmes valeurs aléatoires seront générées encore et encore. C'est très utile lorsque vous travaillez avec un modèle d'apprentissage automatique et que vous souhaitez tester ce modèle rapport au même ensemble de données. Alors laissez-moi créer la graine l, appelez-la seed db point random dog. Très bien, colombe issue d'une graine. Cela définira la valeur, disons 42. Maintenant, je vais créer un ensemble de valeurs aléatoires basées sur la distribution normale. Ou la mère finit par avoir un point de semence normal. Et je vais mettre une forme. Disons p de deux. Il a été créé, imprimons-le. Nous avons un tenseur de forme trois par deux. Et si vous tracez toutes ces valeurs, vous pouvez voir qu'elles déforment une courbe en cloche. Tous ces éléments appartiennent donc à la distribution normale. Créons maintenant un autre tenseur aléatoire avec la distribution uniforme. Uniforme Tarasoff. Uniforme à points C. Je vais lui donner la même forme, trois par deux. Et laisse-moi l'imprimer. Mais trouvez une formule précise. Il s'agit maintenant d'un tenseur uniforme ayant la forme de trois par deux. C'est ainsi que nous pouvons générer un ensemble de cellules mortes aléatoires en utilisant des distributions normales et uniformes. Voyons maintenant comment créer des tenseurs avec des zéros et des uns. Vous vous demandez peut-être pourquoi nous en avons besoin dans TensorFlow. Les tenseurs remplis de zéros et de uns sont souvent utilisés comme point de départ pour créer d'autres danseurs. Par exemple, ils peuvent également être utilisés comme espaces réservés pour les entrées d'un graphe informatique. Créons donc d'abord un plus dense. Je les verrais. Pour cela, nous utiliserions la fonction df1 zeros. Appelons ça des zéros. Et nous allons lui donner une forme. Vous pouvez voir que nous avons créé un programme de trois par deux sur les fluides tensoriels. Créons maintenant le même tenseur avec un seul. Le point central est une fois, le navire et le navire sont égaux à deux. Imprimons-le. Nous y voilà. Nous avons un tenseur de forme trois par deux pour les nains. Il s' de types de crayons Freedom plus différents que vous pouvez créer à l'aide de TensorFlow, mais ce sont les crayons les plus courants que vous utiliserez. Voyons maintenant comment convertir un tableau NumPy en tenseur. Si vous ne savez pas ce qu'est NumPy, c'est une bibliothèque Python pour le calcul numérique. Cela nous aide à gérer de grands ensembles de données et à y effectuer divers calculs. Et avant Tensorflow, Numpy était tout ce que nous avions lorsque nous travaillions avec des modèles d'apprentissage automatique. Importons donc d'abord numpy et créons un antibiotique. Je vais créer un tableau NumPy, suivi d'un soulignement impaire. Et j'utiliserai la fonction range, qui indique à NumPy générer une liste de valeurs, disons 1 à 25. Et le bip de l'octet de données sera engourdi par Bob int. Imprimons. Nous y voilà. Nous avons un tableau avec 24 valeurs comprises entre 1 et 25. Nous allons maintenant le convertir en un produit créé par TensorFlow pour prendre en charge NumPy. Ainsi, vous pouvez facilement convertir un impartial en objet de réponse. Appelons-les d'ici là. Donc, cette constante de point tf et mon entrée seront les données non binaires que je viens de créer. Et la forme sera, je peux définir la forme personnalisée, disons, deux par 34 par trois. Et imprimons-le. Nous y voilà. Nous avons converti un tableau NumPy unidimensionnel en un tenseur deux par quatre par trois. C'est ce que vous ferez souvent lorsque vous travaillerez avec des problèmes d'apprentissage automatique réels. Parce que souvent, d'autres algorithmes d'apprentissage automatique ou d'autres frameworks seront utilisés par des personnes. Et vous obtiendrez le jeu de données final dans un tableau numpy. Il est donc très important de comprendre comment nous sommes arrivés à quels tableaux d'objets NumPy. J'espère que cette leçon vous a aidé à comprendre comment les tenseurs des génotypes et comment convertir des tableaux NumPy en tenseurs. Dans la leçon suivante, nous verrons comment effectuer des calculs de base, des agrégations et des multiplications matricielles à l'aide de TensorFlow. 5. Opérations de base à l'aide de Tensorflow: Examinons quelques opérations de base utilisant des tenseurs. Nous allons commencer par examiner comment obtenir des informations à partir de nos tenseurs existants. Permettez-moi de créer un nouveau 40 plus dense. Utilisez la fonction df.columns pour générer un tenseur 4D. Allons-y en essayant le tenseur. Et le point d'appui galbé à deux virgules et à trois couleurs qui est imprimé. Nous avons donc créé un 40 plus dense, mais en forme de deux virgules, trois, quatre, cinq. Nous allons maintenant obtenir quelques informations sur ce tenseur. Imprimez d'abord la taille du tenseur. Donc, pour cela, nous utilisons la taille du point tf. Oui, permettez-moi également d'imprimer la forme de ce que l'on appelle la forme du point tenseur. Imprimons ensuite la dimension b ou b. J' ai vu ça retourné et Sadate et du cran. Voyons ce qui va se passer. Nous y voilà. La taille de quels tenseurs est 120 car il existe des valeurs 12d. Nous avons la forme et la dimension. Cela vous sera utile lorsque vous travaillez avec des crayons compliqués. Et si vous souhaitez vous équiper pour obtenir des informations sur la forme, la taille et les dimensions. Nous allons maintenant effectuer quelques opérations de base sur les tenseurs. Permettez-moi donc de définir notre densité simple ou ce que nous appelons le dense de base. Df, sèche, constante, incréée, plus dense, disons une grille 101112. Essayons l'addition. Je voulais juste ajouter un nombre à chaque valeur du tenseur. Vous pouvez donc simplement dire que les coups de pied de base sont plus denses. Cela ajoutera dix à tous les nombres du plus dense et nous imprimerons le résultat. Essayons une fraction. Peut également inclure la multiplication et la division. Multiplié par dix, en le comparant pour le rajouter vers le bas, imprimons jusqu'à ce qu'il soit. Mais voilà, on y va. Le premier est l'Edison. La deuxième est la soustraction. C'est-à-dire toutes les valeurs multipliées par là et le plat complet, toutes les valeurs divisées avec elles. La solution est un peu importante car nous l' utiliserions dans notre projet. Il existe donc un concept appelé normalisation. Ce seront de bons convertisseurs qui vont de zéro à un. J'expliquerai cela en détail lorsque nous en viendrons à cette leçon, mais gardez cela à l'esprit. Examinons maintenant la multiplication matricielle. C'est également quelque chose que nous ferons souvent lorsque nous travaillerons sur des projets d'apprentissage automatique. Permettez-moi de créer rapidement deux crayons. Nous l'appelons zéro, pas un, constant, deux virgules deux. Abandonné ou pour Ben, je vais créer un nouveau matériau plus dense appelé Filler, disons 234 et acquis. Avant de passer à la multiplication matricielle, gardez à l'esprit que les dimensions internes du tenseur que vous essayez de multiplier doivent correspondre. Supposons, par exemple, que vous ayez deux tenseurs de forme trois par cinq. Cette multiplication ne fonctionnera pas. Mais si vous avez deux dizaines us avec la forme trois par phi n phi par trois, cela fonctionnera car les dimensions intérieures correspondent. Le résultat final de la multiplication sera différent de la forme des dimensions extérieures. Donc, si vous avez deux tenseurs, chacun ayant une valeur de cinq x 3,3 par phi au niveau des formes, le résultat final sera de cinq par cinq. Essayons de multiplier ces deux tenseurs en utilisant le dysfonctionnement de df.count et le html imprimé. Et donc le zéro double un, et donc 012. Nous y voilà. Nous avons le produit de ces deux matrices. Examinons les opérations matricielles de Domo. Alors remodelez et transposez. Nous utiliserons souvent une forme en V pour modifier la structure de votre matrice. Ensuite, le nettoyage des réseaux de neurones, par exemple un pixel d'image de Netflix 28 x 28, sera converti en un tableau unidimensionnel de valeurs par défaut sur 7 jours. Vous le verrez dans notre prochain projet et je vais vous expliquer cela en détail. Mais pour l'instant, sachez que remodelage est un concept très important dans TensorFlow. Et utilisez la phrase ou celle qui sera créée dans les blocs de code précédents. Denser Zero Double One m'a permis de le remodeler en quatre par un. Pour cela, je vais utiliser df dot reshape. Et mon premier argument sera le tenseur réel, vais juste répondre à celui-ci. Et le deuxième argument sera la forme qu'ils disent quatre par un. Donc, si vous voyez cela, j'essaie de convertir un tenseur deux par deux en tenseur de chute d'un. Nous y voilà. La valeur est donc deux virgules 2,4 virgules quatre sont converties en un tenseur quatre par un. C'est ainsi que nous remodelons un tenseur. Voyons maintenant comment transposer puis Soft Baby à l'aide la fonction de transposition DF Dot. Ensuite, vous pouvez le garder pareil, plus dense que, désolé, de zéro à un. Tout droit. Nous y voilà. Vous pouvez voir que les valeurs ont été transposées, par exemple les valeurs deux par deux et quatre par quatre sont désormais de 24,2 car, si vous ne savez pas ce que signifie transposer une matrice, cela revient simplement à convertir en lignes et deux colonnes et en colonne jusqu'au cheval. Voyons maintenant comment effectuer certaines agrégations à l'aide de densus. Dans la plupart des cas, vous souhaiterez trouver la somme, la moyenne, médiane et l' écart type d'un crayon. Permettez-moi de créer un danseur de symboles, DFP, constant. Nous allons juste faire un tableau simple, 1 à 9, avant la bande 6, fixer une date, travailler. Je vais configurer les couches de données pour. Maintenant. Permettez-moi d'imprimer quelques valeurs. Tout d'abord, je veux trouver la valeur minimale dans ce tenseur. Pour cela, je vais utiliser la fonction Min réduite f point avec elle, mais en abuser, puis donner au lead le plus dense une entrée sur trois. Imprimons-le. Vous pouvez voir que la valeur minimale est un. Faisons quelques agrégations supplémentaires comme celle-ci. Réduire. Copions ceci. Alors. Maintenant, il faut trouver le soleil. Essayons-les en anglais. La valeur minimale est donc de un, la valeur maximale est de neuf et le soleil était de 45 sur la grille. Ouvrons maintenant un nouveau bloc de code et séchons un peu les agrégations. Je me suis alors demandé quel était l' écart type de ce tenseur. Pour cela, je vais utiliser tf point map, reduce, STD, et le plus dense enfin en gras. Et je veux imprimer la variance, qui se trouve également dans P de Dartmouth. Essayons ça. Nous y voilà. Nous avons l' écart type et la variance. Essayons maintenant une agrégation plus simple si nous sommes enclins à trouver ce volt silencieux est silencieux et le journal de toutes les femmes du tenseur. Tout d'abord, à la règle du squash, qui est T de Dark SQRT, plus dense que l'inquiétude sera juste tf point carré plus dense. Et je voulais imprimer le journal, qui est en maths. Donc, le journal à points df.net de la densa, imprimons-le. Vous pouvez constater que le DFS est assez robuste du téléphone ou pour chaque valeur du tenseur. Et D sont tous deux des carrés calmes, tous les nombres étant dans le plus dense. Enfin, Math.min log trouve la valeur logarithmique de tous les corps du danseur. Ce sont les opérations de base que vous devez connaître pour le moment. Dans la vidéo suivante, nous aborderons un concept important appelé encodage à chaud. 6. Codage à un chaud: Dans cette leçon, nous allons examiner un concept important que vous rencontrerez dans le cadre de l' apprentissage en profondeur, à savoir l'encodage instantané. Le codage à chaud est un processus utilisé pour représenter un ensemble de valeurs sous forme de données binaires basées sur des catégories. Ce codage crée une nouvelle colonne binaire pour chaque catégorie unique. Chaque ligne du jeu de données se voit ensuite attribuer un un ou un zéro. Par exemple, considérez un ensemble de données avec une couleur variable comportant trois catégories uniques, le rouge, le vert et le bleu. Si nous utilisons un encodage à chaud, cette variable peut être représentée sous la forme de trois nouvelles colonnes binaires. Chaque ligne du jeu de données en aura une dans la colonne correspondant à l'attribution de la couleur. Par exemple, si vous regardez la première ligne, qui est le fil, la première valeur est une et les deux autres valeurs sont zéro. Et en vert, la première et la dernière valeur sont simplement zéro et le milieu est un. Et en bleu, la dernière valeur est 1. Les algorithmes d'apprentissage profond, en particulier les réseaux de neurones, fonctionnent avec des données numériques. Le codage instantané nous permet de convertir facilement type de variables catégorielles en représentations numériques simples. Ils peuvent donc être utilisés comme entrées ou même sorties pour des modèles d'apprentissage en profondeur. En utilisant un encodage instantané, nous pouvons gérer de nombreux types de variables de catégorie. Cela est généralement difficile à gérer pour les autres modèles de codage. Enfin, le codage instantané fournit un mappage clair entre les catégories et leurs représentations numériques correspondantes. Cela permet donc au modèle d' interpréter et d' analyser plus facilement les résultats des modèles d'apprentissage en profondeur. Par exemple, si nous essayions de créer un algorithme pour classer les chats et les chiens, une sortie codée en un seul clic serait beaucoup plus facile à convertir en résultat final. J'espère que cette leçon vous aidera à comprendre le fonctionnement de l' encodage instantané. Dans la leçon suivante, nous verrons comment TensorFlow peut fonctionner avec les GPU et les TPU. Nous ne travaillerons pas avec des GPU et des TPU dans le cadre de ce projet, mais il est intéressant pour vous de comprendre comment vous pouvez utiliser des GPU ou des TPU s' ils sont disponibles. 7. Travailler avec les GPU et les TPU: Voyons donc comment travailler avec les GPU et les TPU à l'aide TensorFlow. Nous ne verrons pas ce que sont les GPU et les TPU, mais examinons-les plus en détail mais examinons-les plus en détail pour savoir comment les utiliser. Mais TensorFlow, les GPU ou les unités de traitement graphique et les TPU sont des unités de traitement tensorielles ou une conception matérielle spéciale destinée à accélérer le processus d'apprentissage automatique. Ils ont de nombreux objectifs et peuvent traiter les données beaucoup plus rapidement que les processeurs traditionnels. Commençons par examiner les appareils disponibles dans ce bloc-notes Colab. Pour cela, nous utiliserons la liste de configuration F point. Appareils physiques. Vous pouvez voir que B, nous n' avons qu'un processeur qui nous est alloué. Maintenant, utilisons notre environnement d'exécution et allouons un GPU. Peut changer de temps en temps et le convertir en GPU. Je ne vous montrerais pas comment vous connecter à un TPU car le processeur sera toujours disponible. Regardons donc le GPU et la façon dont nous pouvons travailler avec lui. Sauvegardez-le. donc très important, une fois que vous aurez modifié le runtime, assurer que votre bloc-notes Colab est collecté et que vous exécutez TensorFlow. Vous n'avez qu'à lire sur le dollar des importations. Tu n'as pas à t'inquiéter pour le reste. Nourrissons-nous de cela. Génial. Voyons maintenant à quels appareils nous avons accès. Nous y voilà. Nous pouvons voir que nous avons un GPU ou c'est bon pour nous. En ce qui concerne TensorFlow , vous n'avez pas à passer d'un processeur à un autre, car TensorFlow s'en occupe automatiquement pour vous. S'il existe des TPU, le code sera légèrement différent, mais vous n'utiliserez pas de TPU à moins travailler avec des modèles d'apprentissage en profondeur extrêmement volumineux. Si vous souhaitez spécifier un périphérique que vous souhaitez utiliser pour votre code, vous pouvez utiliser la fonction de périphérique TF Dot et lui donner le nom du périphérique. Cela dirait GPU Cielo. Vous pouvez ensuite écrire le reste de votre code dans ce bloc de code. Ainsi, tout l'or contenu dans ce bloc de code fonctionnera à l'aide du GPU. J'espère donc que cette leçon vous aidera à comprendre ce que sont les GPU et les TPU et comment vous pouvez réellement les utiliser dans votre code. Dans la leçon suivante, nous allons commencer par notre projet actuel, qui est un réseau neuronal de reconnaissance de l'écriture manuscrite utilisant TensorFlow, et nous y arriverons. 8. Préparer le modèle: Maintenant que nous avons appris et maîtrisé les bases, commençons à construire notre projet. Nous utiliserons l'ensemble de données MNIST composé de chiffres manuscrits pour entraîner notre modèle. Mnist est le jeu de données d'images contenant 60 000 images d'entraînement et 10 000 images de test. Nous pouvons donc utiliser ces 60 000 images d' entraînement pour entraîner notre modèle. Et nous pouvons utiliser les 10 000 images de test pour évaluer les performances de notre modèle. Ces chiffres sont compris entre 0 et 9. Chaque image est de taille 28 par 28 et en niveaux de gris. Donc, si vous regardez ce bloc, l'axe x est 28 et l'axe y est 028. Chaque pixel aura une valeur comprise entre 0 et 255, par exemple, les blocs vides seront nuls et les blocs les plus sombres auront une valeur comprise entre 55 et 55. Voici donc comment chaque image est représentée dans cet ensemble de données. Nous aurons un total de 784 valeurs de pixels par image. Si cela est clair pour vous, commençons par ajouter le code. Il va d'abord importer l'ensemble de données MNIST. Je vais créer une variable appelée MNIST. Et nous pouvons obtenir l' ensemble de données de Geddes, Floride, nous obtenir des ensembles de données. Je vais maintenant créer quatre variables. Extreme, White Train et X Test et test de vélo. Le train x et le train y seront donc utilisés pour entraînement tandis que le x test et le bureau y seront utilisés pour les tests. Et je vais appeler la fonction de chargement des données. Et nous devons ajouter la date téléchargement dans ces variables. Alors, testons-le. Et une valeur tirée de x train. Nous y voilà. Nous avons un 28 x 28. Ainsi, une large plage ajoutera la valeur de cinq. Donc x contient des images et Y a la valeur réelle des signatures. Il s'agit d'une étape importante que nous devons franchir, appelée normalisation. Ainsi, chaque pixel de cette image sera lié 0 à 255 et nous allons déterminer ses caractéristiques de zéro à un. Il s'agit donc de rendre l'ensemble de données simple et facile à comprendre pour le modèle. Pour les normaliser, je vais simplement diviser toutes les valeurs de l'image par deux. Ainsi, x train et x test seraient divisés par largeur. Revérifions-le. Nous y voilà. Maintenant, nos valeurs d'image sont comprises entre 0-1 et 002, 55. L'ensemble de données de test X est prêt. Nous allons maintenant commencer à construire notre modèle. Nous allons construire un modèle séquentiel l'aide de getters, comme nous l'avons vu précédemment. Auparavant, Get Us était une bibliothèque individuelle permettant de créer des modèles d'apprentissage en profondeur, mais elle a été intégrée à TensorFlow. Keras, nous avions l'habitude de coder toutes les couches elle-même. C'était assez compliqué et a permis de travailler avec TensorFlow . Mais avec Geddes, il est beaucoup plus facile pour nous d'empiler plusieurs couches et de construire un réseau d'or, c'est moderne. Je vais appeler le modèle séquentiel. Et ma première couche, ce sera une couche d'aplatissement. Kayla a donc arrêté. Mais ça s'aplatit quand même. La forme d'entrée est de 28 x 28. Cette couche va donc prendre notre tenseur 28 x 28 et le convertir en un réseau unidimensionnel. Notre couche d'entrée ne sera donc pas une couche de 28 x 28, mais un réseau unidimensionnel de 0784 couches. Cela sera donc transmis en tant qu' entrée à notre réseau de neurones. Je vous montrerai une image à la fin de ce modèle, afin que ce soit beaucoup plus clair pour vous. La couche suivante serait une couche dense. Et celui-ci aura 128 neurones dotés d'une fonction d'activation appelée relu. Les fonctions d'activation nous aident à capturer des modèles et des relations. Et cette activation ReLU est une fonction d'activation couramment utilisée. Il faudra donc prendre la sortie de la première couche et seule elle obtiendra une valeur positive. Si la sortie est négative, elle renvoie zéro. Cela nous permet donc d'éviter les valeurs négatives et d'accélérer l' entraînement du modèle. La couche suivante sera une couche déroulante. Et nous allons fixer le taux de baisse à 0,2. Ainsi, la couche de protection empêche le surajustement. surajustement se produit lorsque notre modèle commence à s'appuyer sur un résultat spécifique. Par exemple, si nous entraînons notre modèle avec 10 000 documentateurs et des milliers d'images, le modèle privilégiera automatiquement les chiens et nous classerons davantage de photos de chats représentant des stocks. Cette couche troublée nous aide donc à réduire cela. L'argument 0.2 indique que le taux rapide est de 20 %, ce qui signifie que 20 % des neurones la liste précédente seront supprimés pendant l'entraînement. Enfin, nous allons construire une autre couche dense qui sera notre sortie. Des enfants de 10 ans seront présents et imprimons-le. Modèle. J'ai fait une erreur commune à Messine. Notre modèle est donc prêt. C'est ce que nous avons construit. Si vous regardez ce modèle, la première couche contient tellement de neurones différents, qui seront la couche d'entrée. Et cette couche aplatit une image plus dense de 28 x image plus dense de 28 en un saumon AT pour un réseau unidimensionnel. Cela sera donc transmis en entrée. Ensuite, nous avons la couche d'activation, puis la couche descendante et enfin, nous avons la couche de sortie. Nous aurons besoin d'une couche supplémentaire plus tard dans le projet, qui sera une couche softmax. Toutes ces sorties seront donc des prédictions et non des probabilités. Il y aura donc des scores. Et nous avons besoin d'un moyen de convertir les scores en probabilités réelles afin de savoir ce que le modèle essaie de prédire. Nous venons donc de construire un modèle. Il n'est pas encore formé, mais nous allons simplement lui transmettre quelques données et voir s'il fonctionne bien. Créez une variable appelée prédictions, et j'appellerai le modèle et transmettrai une valeur à partir de la radiographie qui a transmis la première valeur. La raison pour laquelle j'utilise cet opérateur de tranche est que l' opérateur de tranche renvoie un tableau. L'entrée doit être un tableau de tenseurs. Donc, même s'il s'agit d'une valeur unique, ça me convient. Mais d'une autre manière, c'est pourquoi j'utilise l'opérateur slice. Elle renvoie un tableau de valeurs. Et laissez-moi imprimer des prédictions. Vous verrez qu'il imprimera un tas de partitions ici. Il existe donc des valeurs positives et négatives. Voyons ce que l'on appelle SoftMax fonctionne. Softmax est donc essentiellement une couche qui convertit un discours en véritables bourdons. Créez donc une couche appelée softmax et transmettez-lui les prédictions. Voyons à quoi ça ressemble. Nous avons donc maintenant des probabilités. Cela signifie donc que le modèle essaie de nous dire quelle est la probabilité que l'entrée appartienne à l'une de ces lunettes ? Donc, le premier signifie zéro. La deuxième c'est un moins deux, et la dernière c'est ce soir. Nous avons donc des probabilités pour chaque chiffre de l'ensemble de données. Simplifions-nous donc les choses et voyons ce que le modèle est entraîné à prévoir. Pour cela, nous allons simplement convertir ces prédictions en un tableau simple. J'utilise NumPy pour simplifier les choses et je vais apprendre pour la première fois. Comme vous pouvez le voir, c'est dans une autre, je suis juste en train de saisir cette première valeur et je vais la convertir en une liste Python. Et je vais imprimer la valeur maximale, l' indice de la valeur maximale pour tableau simple qui correspond à la valeur de la valeur inférieure. Nous pouvons donc maintenant voir ce que le modèle essaie de prédire. Debbie, vas-y, elle essaie de dire qu'il est sept heures. Voyons quelle était la valeur réelle. Donc imprime x train d'un, donc train blanc d'un. Donc, le pic de valeur réel, mais notre modèle indique qu'il est de sept. C'est parce que notre modèle est encore formé. Ainsi, une fois que vous aurez formé notre modèle, vous verrez à quel point l'impulsion spirituelle est forte. Ainsi, avec le bloc de code B, on a déjà construit un réseau neuronal profond à couches entièrement connectées. le chapitre suivant, nous examinerons les optimiseurs et la fonction de perte et nous verrons pourquoi ils sont importants pour entraîner notre modèle. 9. Fonction d'optimisation et de perte: Dans cette leçon, nous allons discuter de l'utilisation des fonctions de perte et de la façon dont elles contribuent à l'entraînement des réseaux de neurones profonds. Nous parlerons également des optimiseurs et verrons comment les utiliser pour minimiser la fonction de perte. Nous terminons la leçon en examinant le populaire optimiseur Adam, que nous utiliserons pour notre projet. La fonction I lost function est également connue sous le nom de fonction de coût. Il s'agit d'une fonction mathématique qui mesure la différence entre la sortie prévue d' un modèle et la valeur cible réelle. Ainsi, lorsque nous entraînons un réseau de neurones, mais uniquement des entrées et des sorties, le réseau de neurones génère sa propre sortie. Il compare ensuite cette sortie avec la sortie réelle que nous avons donnée dans le kit d'apprentissage. C'est ainsi que le réseau neuronal apprend. L'objectif du processus de formation est de minimiser la valeur de ces fonctions de perte. Plus les valeurs prédites sont proches des valeurs réelles, plus la valeur de la fonction de perte sera faible. Dans le cadre de l'apprentissage profond, les fonctions de perte nous aident à améliorer la précision du modèle. Les paramètres du modèle sont ajustés de manière à minimiser la fonction de perte, ce qui nous donne de meilleures prévisions. Le choix de la fonction de perte dépendra du type de problème que vous rencontrerez. Il existe donc de nombreuses fonctions de perte, comme la fonction de perte d'entropie croisée. Ou si vous travaillez sur un autre problème de collision, vous utiliserez quelque chose comme une fonction moyenne quadratique d'erreur ou de perte. Moyens agressifs, prévision des cours boursiers, prévision des prix des logements et autres problèmes similaires. Vous pouvez trouver plus de ressources sur la fonction de perte, la description du cours, je vais ajouter un lien pour vous. Parlons maintenant des optimisations. Les optimiseurs sont des algorithmes qui nous aident à minimiser la fonction de perte. Ils fonctionnent donc en mettant à jour les paramètres du modèle telle sorte que la valeur de la fonction de perte continue de baisser. Et comme nous l'avons vu précédemment, plus la fonction de perte est faible, mieux le modèle est entraîné. Il existe donc de nombreux choix optimaux, chacun ayant ses propres forces et faiblesses. Un optimiseur à bulles s'appelle Adam Optimizer. L'optimiseur Adam est très efficace dans un large éventail de tâches d'apprentissage en profondeur et c'est un excellent choix à utiliser pour ce projet. optimiseur Adam combine les avantages de la descente en gradient, qui est un ancien algorithme. Si vous avez étudié lors de l'apprentissage initial, vous avez probablement entendu parler de la descente en pente. Adam Optimizer est donc un outil de descente en pente. Et il est également très efficace sur le plan informatique. Même si pour comprendre la logique qui sous-tend ces fonctions de coût et les optimiser pour le moment, TensorFlow s'occupera de tout pour vous. Pour l'instant. Il suffit de comprendre que les fonctions de perte nous aideront à réduire les prévisions relatives aux endosomes et optimisations aideront à minimiser la fonction de perte. J'espère donc que vous comprenez comment fonctionnent les optimiseurs Lost One Chosen. Dans la leçon suivante, nous allons construire une fonction de perte et vous l'aurez optimisée. Nous commencerons à compiler et à entraîner notre modèle. 10. Compiler et former le modèle: Créons maintenant la fonction de perte. Je vais utiliser la fonction d' entropie croisée catégorielle clairsemée , qui est couramment utilisée pour les modèles de classification. Accédez ensuite à la fonction de perte de buts dans Keras. Et je vais économiser de l'argent, c'est vrai. J'appelle les logits à cause des prédictions réelles ou des logiques des déesses. C'est pourquoi je dis que nous allons calculer les pertes à partir des logits. Compilons maintenant notre modèle. Et je vais spécifier l'optimiseur, qui sera Adam. Et ma fonction de perte est celle de la belle-famille. Je viens certainement de créer et je vais imprimer quelques mesures de précision. Pour l'instant. Je veux juste qu'il voie la précision. Cela nous indiquera donc à quel point notre modèle s'améliore pendant l'entraînement. Nous l'avons fait, parce que j'ai commis une erreur. Alors laissez-moi exécuter ceci et m' assurer que le trait est correct. C'est un mot, dipôle. Ce n'est tout simplement plus une haie, si éparpillée dans le monde interconfessionnel, que tout cela là-bas. Et maintenant, compilons l'argent. Nous y voilà. Fait partie du module Compiled. Commençons maintenant à nous entraîner. Notre modèle s'appellera model dot fit, c' est-à-dire qu'il adapte les données au réseau neuronal. Et je vais lui transmettre des valeurs extrêmes et blanches. Je vais également spécifier une boîte faible pour combattre. L'époque signifie donc une itération. Les époques indiquent donc au modèle combien de fois il doit s' entraîner avec cet ensemble de données. Donc, si nous spécifions le livre électronique comme 5k, le modèle d'apprentissage en profondeur, nous parcourons cet ensemble de données phi times. Cela permet au modèle de comprendre les modèles qui n' ont pas été détectés lors du premier ou du deuxième titrage. Vous pouvez donc améliorer le trading en augmentant la boîte. Mais après un certain temps, la précision commencera à être constante. Cela signifie donc que le modèle tient compte des poumons autant que possible à partir des données fournies. Commençons donc par le box fight et laissez-moi les entraîner. Vous pouvez voir que l'entraînement a commencé et le premier titrage est en cours. Et vous pouvez voir que notre précision est désormais de 91 %. Il affiche un pourcentage de loyer élevé lors de la deuxième itération, et il ne cesse de s'améliorer au fur et à mesure que la fonction de perte n'est réduite. Nous avons maintenant ajouté la précision de 97 %. Augmentons la case à dix afin que vous puissiez comprendre à quoi elle sert exactement. Et quand j'augmente la boîte, ce modèle est déjà entraîné. Cela peut donc être un entraînement. Donc, si vous continuez à l'entraîner à partir de là, vous verrez que la précision de départ varie. Je fais sept pour cent. Oui, nous avons ma bonne personne, mais ça se détériore un peu. Vous pouvez donc voir que la précision est désormais de 98 %. Il n'y a rien de mieux que ça. C'est donc un bon point pour nous de mettre fin au nombre de nos boîtes de réception. ne s'agit donc que d'un certain nombre de vibrations que vous pouvez effectuer avec un modèle d'apprentissage automatique. Remets-le à cinq. Vous pouvez donc constater que la formation est maintenant terminée et que nous avons atteint une précision de 98 % dans des scénarios réels. Même si vous avez une précision de plus de 80 %, vous devriez disposer d'un modèle d' apprentissage en profondeur décent. Notre modèle est entraîné et prêt à prédire. Dans la leçon suivante, nous allons jouer avec quelques exemples de valeurs numériques et voir les performances de notre modèle. 11. Prédire les chiffres manuscrits: Nous avons donc intégré notre modèle. Maintenant, voyons à quel point notre modèle est bon. Tout d'abord, nous utiliserons la fonction d'évaluation intégrée, transmettrons les données de test et verrons dans quelle mesure le modèle fonctionne. Essayons ça. Poids à la naissance moderne, test X et poussière blanche. Beaucoup de verbosité pour que nous sachions ce qui se passe en arrière-plan. Nous avons donc une précision d'environ 97 %. La perte est de 0,7. Génial. Cela signifie que nous avons une hypothèque légale. Nous devons ajouter une étape supplémentaire avant commencer à examiner les valeurs de prévision. Comme nous l'avons vu précédemment, ce modèle imprime les scores des prédictions. Cela ne nous donne pas les probabilités. Nous allons donc ajouter une couche softmax , puis nous examinerons le problème. Je vais maintenant créer une autre couche de séquence. Et les clubs sont à la fois un modèle existant et une couche SoftMax. C'est ce que nous allons faire. C'est ce que nous appellerons le modèle de probabilité. Ce modèle est donc le même que notre modèle existant, mais nous allons simplement ajouter une couche softmax. Disons donc la séquence de points de Kayla. Et nous allons ajouter notre modèle et une grille de couches Softmax. Notre modèle est maintenant prêt. Nous allons donc prendre quelques valeurs de l'ensemble de test, savoir x test et y test, et voir si je suis le seul à obtenir la valeur correcte. C'est quelque chose que nous avons fait plus tôt, mais notre modèle prédisait tout de manière erronée. Voyons maintenant comment ça se passe. Après la formation, je vais ajouter un autre bloc de code dans lequel je vais d'abord imprimer l'original. Disons que c'est original. Et ce sera une valeur de poussière blanche. Arrêtons-nous à zéro. Regardons de quelle manière cela fonctionne. Il est sept heures. Génial. Nous allons maintenant séparer la valeur du test x dans le mix donner à notre modèle et lui demander de la prédire. Donc, si vous obtenez la même valeur, cela signifie que le modèle fonctionne comme prévu. Supposons donc que la sortie soit un modèle de probabilité. Et je vais le prendre en bus. La valeur de test X sera nulle. Il s'agit donc de la première valeur. Donc, l'élément zéro, c'est pourquoi je dis qu' il s'appelle The One. Vous pouvez aussi dire zéro, un doré. Maintenant, je vais utiliser la même logique que précédemment, mais juste pour convertir cela en tableau inter-octets et obtenir l'indice de la probabilité maximale. Supposons que la sortie soit un point de sortie non en saisissant le premier élément et en le convertissant en liste. Et je vais transformer la valeur prédite de l'indice du maximum en fonction du débit de sortie. Il s'agit donc d'imprimer la valeur d'origine plutôt que de transmettre la valeur x qui appartient à cette sortie et configurer ou de demander au modèle ce qu' il pense de l'entrée donnée S. Donc, si nous avons un équivalent original et productif, cela signifie que notre modèle fonctionne bien. Essayons cette grille ou plusieurs. Tu l'as, non ? Essayons-en un autre appelé dual 1200. Fais le même travail. Nous y voilà. La religion est cinq et la valeur prédite est cinq. Laisse-moi en essayer une autre. Optez pour 50. Melody avait l'habitude de voir de la valeur. Afficher. Nous y voilà. C'est 4.4. Vous pouvez jouer avec différentes entrées et vous verrez que 97 fois sur 100, notre modèle prédira correctement les valeurs. Très bon travail. Nous avons créé un modèle fonctionnel d'apprentissage en profondeur utilisant la vision par ordinateur qui prédit les chiffres écrits à la main. Vous ne pouvez qu'imaginer comment d'autres problèmes de classification tels que prédictions de Datadog et d'autres fonctionnent d'autres problèmes de classification tels que les prédictions de Datadog et d'autres problèmes de classification d' images simples. Et je suis sûr que vous avez quelques questions après avoir suivi ce cours. N'hésitez donc pas à me contacter. Vous pouvez me contacter si vous êtes bloqué à tout moment et au cosinus, je serais heureuse de vous aider. Faisons donc un bref résumé de ce que nous avons vu jusqu'à présent. 12. Conclusion: Encore une fois, excellent travail pour terminer le cours. Tu as beaucoup appris. Nous avons commencé par examiner les tenseurs et la manière dont TensorFlow nous aide à créer et à travailler avec des tenseurs. Nous avons ensuite vu comment effectuer des opérations sur des tenseurs et nous avons généralement tendance à utiliser des tableaux NumPy. Nous avons également examiné les fonctions de perte et les optimisations et la manière dont elles contribuent à améliorer notre réseau neuronal. Nous apprenons ensuite à charger le jeu de données MNIST et à créer un modèle à l'aide de Keras. Enfin, nous compilons et entraînons notre modèle pour prédire les chiffres écrits à la main. J'espère que ce cours vous aidera à comprendre comment travailler avec TensorFlow. Si vous avez des questions, n'hésitez pas à contacter week. Vous allez me contacter à l' adresse help admonition shiva.com. Merci d'avoir suivi ce cours. J'aimerais connaître vos commentaires pour améliorer encore le prochain cours. Je vous remercie donc encore une fois d' avoir suivi ce cours. À bientôt avec un nouveau sujet.