‫Maintenant, nous avons vu à quoi ressemble une image, sous une forme plus intense, construisons cette petite fonction qui
‫va faire les étapes ici.
‫Donc, ce que nous pourrions faire, c'est simplement les copier afin que nous puissions les voir ci-dessous.
‫Et je vais juste écrire une petite cellule ici.
‫Maintenant, nous avons vu à quoi ressemble une image en tant que Tensas.
‫Créons une fonction à pré-traitement.
‫Tout va bien.
‫Et donc ce que nous pourrions faire est de définir une variable ici, la taille de l'image deux, 24, et vous vous demandez peut-être.
‫Comme je le fais toujours quand je dis des choses comme ça qui ne sont pas expliquées, qu'est-ce que c'est deux vingt quatre, où est-ce que j'ai eu
‫ça ?
‫Eh bien, nous allons le voir dans une vidéo ultérieure lorsque nous choisirons un modèle d'apprentissage automatique que nous pouvons
‫utiliser.
‫Et donc, beaucoup d'apprentissage automatique aligne la taille de vos entrées ou la forme de vos entrées.
‫Dans notre cas, des images avec le modèle que vous utilisez.
‫Encore une fois, nous couvrirons cela plus tard.
‫Mais essentiellement, nous nous assurons que nos images que nous introduisons dans un modèle d'apprentissage automatique sont de cette
‫forme.
‫Donc deux vingt-quatre de haut à vingt-quatre de large parce que c'est ce que le modèle d'apprentissage automatique que nous allons
‫utiliser, qui s'est entraîné sur des images de la même forme.
‫N'oubliez pas à quel point il est important de fournir à votre modèle d'apprentissage automatique des données dans le même format et la même forme que celles sur lesquelles
‫il a été formé lorsque vous essayez de faire des prédictions.
‫Mais vous le verrez en pratique plus tard.
‫Mais écrivons cette fonction.
‫Créez donc une fonction de prétraitement des images.
‫Je vais donc appeler cette image de processus simple et agréable.
‫Il va prendre un chemin d'image en entrée.
‫Et.
‫Un petit doctoring pourrait prendre un chemin de fichier image et transformer l'image en un Tensas, quelque chose de simple comme ça, nous pourrions le
‫rendre un peu plus intuitif plus tard.
‫Mais pour commencer, cela suffit pour nous l'expliquer.
‫Nous voulons donc échanger un fichier image.
‫Et pour ce faire, nous allons l'enregistrer dans une variable appelée image.
‫Et si nous lisons maintenant le chargement des images, vous pouvez le faire pour d'autres types de données à écrire.
‫Il y a des données textuelles là-bas.
‫Il y a cette trame de données numpties ESV Mais en lisant par là, nous voyons que nous pouvons aller à Eyo pour
‫l'entrée sortie, lire le fichier.
‫On y va.
‫Quel est ce signe qui lit et affiche tout le contenu du nom de fichier d'entrée ?
‫Eh bien, cela a du sens, renvoie un Tenzer de type chaîne.
‫Beau.
‫Faisons le chemin de l'image, mais ne me croyez pas sur parole.
‫Ce que nous allons faire et je veux que vous adoptiez également cette pratique, si jamais vous voyez une fonction dont
‫vous n'êtes pas tout à fait sûr de ce qu'elle fait, réécrivez-la ligne par ligne.
‫Alors vérifions cela.
‫Nous irons Tensas égal à deux après avoir lu le fichier, puis nous avons besoin d'un chemin d'image pour les noms de fichiers.
‫J'ai vingt-six ans donc nous aurons quatre noms.
‫Vingt-six.
‫Et à quoi ça ressemble ?
‫Oh, donc c'est la forme d'une ficelle.
‫Et puis tout un tas de personnages que je ne comprends pas, mais c'est une bonne chose parce que
‫l'ordinateur les comprend mieux que moi.
‫Donc, ce qu'il fait, c'est juste prendre le nom du fichier et en transformer le contenu.
‫Ce long, Tenzer, merveilleux, donc la prochaine étape consiste à allumer pour lire le fichier, l'enregistrer en image.
‫Oui, transformez notre image en jpeg en temps.
‫OK, alors faisons-le.
‫Transformez l'image JPEG en tenseur numérique avec trois canaux de couleur.
‫Pluie rouge.
‫Bleu.
‫Et encore une fois, en vérifiant les images de chargement, la documentation, nous réutilisons donc cette variable ici.
‫Maintenant, nous allons le réinitialiser pour qu'il soit teft ou décodage par points d'image, voyons comment nous avons quelques options ici, nous allons au PNG, qui est
‫le type de fichier image que nous allons utiliser JPEG car nos images sont au format JPEG image puis on
‫passe à la variable.
‫Canaux, les canaux indique le nombre de canaux souhaité pour l'image décodée dans notre cas, nous en voulons trois, quatre
‫rouges, verts et bleus.
‫Beau.
‫Maintenant, encore une fois, si nous voulions vérifier exactement ce que cela fait, prenons Tenzer et recherchons
‫une image jusqu'au code.
‫JPEG prendra Tensas et ensuite nous passerons aux canaux égaux à trois.
‫Oh, regarde ça.
‫Vous avez exactement le même genre de données que celles que nous avons ici.
‫Merveilleux.
‫Très bien.
‫Maintenant, pour gagner du temps, nous allons écrire quelques lignes supplémentaires dans cette fonction, mais nous
‫ne passerons pas par les mêmes étapes.
‫C'est ce que je veux.
‫Je veux que vous vous entraîniez.
‫Si vous faites, disons, une fonction et que vous êtes curieux de savoir ce qu'elle fait.
‫Essayez de l'écrire ligne par ligne et voyez ce qui se passe.
‫Donc, vous allez devoir me faire confiance avec ce que font ces lignes.
‫Convertissez donc les valeurs des canaux de couleur.
‫C'est ce qu'on appelle la normalisation.
‫J'écrirai d'abord le code, puis je vous en parlerai de zéro à 255 à zéro à un valeurs,
‫nous voulons donc que l'image soit égale à après la conversion de l'image image de type D en float 32.
‫Maintenant, qu'est-ce qu'une doctrine dit ici, convertissez l'image en Daytop en mettant ses valeurs à l'échelle si nécessaire.
‫Les images représentées à l'aide de valeurs à virgule flottante doivent avoir des valeurs comprises entre zéro et
‫un.
‫Merveilleux.
‫Maintenant, vous pensez peut-être comment.
‫Comment le sais-tu, Daniel ?
‫Comment savez-vous que vous devez le convertir de zéro à 255 à entre zéro et un ?
‫Eh bien, en fait, j'ai menti.
‫J'ai dit que nous n'allions pas nous pencher là-dessus, mais c'est une bonne question à enquêter.
‫Juste pour que vous puissiez voir, nous avons des valeurs entre zéro et 255 et maintenant.
‫Je vais lancer ça oh, non, je ne veux pas vraiment ça, euh, me foutre en l'air ici, relancer ça.
‫Réexécutez ceci.
‫Donc je veux juste montrer ce que cela fait.
‫Donc image convertie.
‫Donc, en gros, tout ce qu'il fait, c'est convertir nos valeurs, les mettre à l'échelle au lieu d'être entre zéro et 255, elles
‫sont maintenant entre zéro et un avec la même échelle.
‫Flotteur 32.
‫Oh.
‫Vol supérieur 32.
‫Merveilleux.
‫Nous avons donc la même forme, mais maintenant au lieu d'être entre zéro et 255, ils sont entre zéro un
‫et maintenant ce type de processus rend le calcul sur ces derniers plus efficace.
‫C'est le plus que vous devez savoir.
‫C'est ce qu'on appelle la normalisation.
‫Et encore une fois, cela vient directement des images de chargement, de la documentation.
‫Maintenant, qu'avons-nous à faire ?
‫En fait, je ne pense pas que nous ayons eu une étape ici pour cela.
‫Ils devront peut-être mettre en place pour normaliser notre image, convertir en valeurs de canal de zéro à 255 à zéro à un.
‫J'en reçois cinq, six, OK, maintenant, enfin, nous pouvons redimensionner l'image maintenant, je crois que vous me faites confiance et que cette ligne
‫va faire.
‫Nous n'allons donc pas le taper.
‫Je vais vous laisser ça tous les deux.
‫Vingt-quatre à vingt-quatre à essentiellement un carré.
‫Exactement.
‫Un carré en fait.
‫Redimensionner le point de l'image.
‫Ressources, images à dimensionner en utilisant la méthode spécifiée.
‫OK, et maintenant nous voulons redimensionner l'image et la taille va être hyp.
‫Attendez, vous voyez maintenant pourquoi nous définissons cela ici, peut-être que si nous écrivions cette
‫fonction un peu mieux, nous pourrions importer la taille de l'image en tant que taille de l'image.
‫C'est probablement un peu mieux.
‫Merveilleux, et maintenant vous aurez ce genre de pratique lorsque vous commencerez à écrire vos propres fonctions la première fois que vous écrivez
‫une fonction et que vous serez probablement assez mauvais, assez terrible.
‫Mais alors que vous commencez à déterminer quel est votre flux de travail, vous commencerez à comprendre comment écrire une
‫meilleure fonction.
‫Maintenant, nous pouvons retourner l'image.
‫Alors qu'est-ce que c'est fait?
‫A-t-il fait exactement ce que nous venons de dire, il faut un chemin d'image et une taille d'image, nous pouvons le définir
‫ici.
‫Il lit dans le fichier image du nom de POV Beautiful.
‫Il transforme le JPEG en Tenzer numérique, nous le convertissons donc simplement en un Tenzer avec trois canaux de couleur rouge,
‫vert et bleu, car c'est la convention pour la plupart des modèles d'images d'apprentissage en profondeur.
‫Ils veulent du rouge.
‫J'ai dit de ne pas lire que c'est une mauvaise chose.
‫La lecture est une bonne chose.
‫Nous avons ensuite converti les canaux de couleur de zéro à 255 en valeurs de zéro à un, et nous avons finalement redimensionné l'image
‫à la valeur souhaitée.
‫Maintenant, nous avons écrit dans une fonction.
‫Donc, la belle chose est que nous pouvons l'utiliser plus tard.
‫C'est ce que je faisais, non ?
‫J'avais l'habitude de parcourir ces lignes de code chaque fois que je voulais traiter une image, un flux de travail terrible afin que
‫nous puissions réellement les supprimer.
‫N'oubliez pas que si vous voulez vérifier ce que fait réellement la fonction, décomposez-la ligne par ligne, textez
‫un chemin d'image en entrée, puis voyez ce que fait le reste.
‫Maintenant, je pense que c'est suffisant pour cette vidéo.
‫Nous avons créé notre fonction, prête à pré-traiter certaines images.
‫Eh bien, nous pourrions le faire maintenant, si nous lisions le flux de données de chargement intensif.
‫Je pense que c'est celui-ci.
‫Oui.
‫De retour par ici, il y a une petite section ici qui a tendance à couler, aime voir les choses
‫sous forme de lots.
‫Nous verrons donc quels sont les lots dans la prochaine vidéo.