‫Nous avons donc maintenant un modèle entièrement entraîné sur l'ensemble de données d'entraînement complet, a. k. une. 10000 images, car si on
‫regarde X.
‫J'ai 10 000 images et étiquettes, utilisons maintenant notre modèle entièrement entraîné pour faire des prédictions.
‫Sur l'ensemble de données de test, qui compte également environ 10 000 images, je vais y jeter un œil dans une seconde.
‫Mais montons à Kagle et voyons comment.
‫Ils veulent que nos prédictions ressemblent à un fichier de soumission pour chaque image de l'ensemble de test, vous devez prédire
‫la probabilité pour chacune des différentes races.
‫Le fichier doit contenir un en-tête et avoir le format suivant.
‫Nous avons donc besoin d'une race de chien Idei.
‫Je ne vais même pas prétendre que je vais essayer de le prononcer encore une fois.
‫Lévrier afghan, Yorkshire terrier.
‫Et puis les probabilités de prédiction pour tout cela.
‫D'accord.
‫Maintenant, il est dit que Multiclass est perdu depuis longtemps.
‫C'est juste la prédiction.
‫Probabilités pour chaque race de chien.
‫Créez une autre section d'en-tête faisant des prédictions sur l'ensemble de données de test.
‫Maintenant, je veux que vous réfléchissiez avant de passer en revue le code.
‫Que devions-nous faire pour entraîner notre modèle sur les images d'entraînement ?
‫Encore une fois, prétendez qu'il s'agit de données agnostiques, quelles que soient les données avec lesquelles vous travaillez, qu'il s'agisse de texte, d'audio, d'images
‫ou de vidéo ou quelque chose du genre, quel est notre rôle avant de pouvoir les utiliser avec un modèle d'apprentissage automatique ?
‫Ou dans notre cas, un apprentissage en profondeur sans réseau.
‫Nous devons le convertir en nombres, c'est donc ce que nous devons faire, exactement le même type de données sur lequel notre
‫modèle a été formé.
‫Ainsi, les données correspondent au lot de données d'images dont nous avons besoin pour créer l'une de celles-ci à partir des images de test afin que
‫nous puissions faire des prédictions sur ces images.
‫On s'écrira donc un petit mot puisque notre modèle a été entraîné sur des images sous forme de dizaines de
‫lots.
‫Pour faire des prédictions sur les données de test.
‫Nous devrons le mettre dans le même format, donc si nous revenons à notre graphique et à notre keynote.
‫Rappelez-vous comment j'ai toujours dit que nous nous concentrons sur les entrées, que nous mettons nos données dans la bonne forme
‫pour notre algorithme d'apprentissage automatique, puis que nous nous assurons que les sorties sont correctes ?
‫C'est ce sur quoi nous nous concentrons au début.
‫Cela a déjà été mis en œuvre pour nous de manière assez large.
‫Au fur et à mesure que nous devenons de plus en plus profonds, au fur et à mesure que vous vous lancez dans d'autres projets, vous voudrez peut-être commencer à vous
‫y plonger.
‫Mais pour le moment et pour aborder vos premiers projets comme nous le faisons actuellement, vous allez vous
‫concentrer sur les entrées et les sorties.
‫Maintenant, un petit détail voici, encore une fois, nos fonctions qui sont utiles, heureusement, nous avons créé des correctifs de
‫données plus tôt, ce qui peut prendre une liste de noms de fichiers aussi importante, si vous ne vous en souvenez pas, revenez
‫à l'endroit où nous créons lots de données et les convertir en dizaines de lots.
‫Alors, quelles étapes devons-nous faire pour faire des prédictions sur les données de test ?
‫Écrivons-les pour faire des prédictions sur les données de test.
‫Eh bien, maintenant, c'est un peu ce que je fais avec beaucoup de mes projets, c'est juste me parler, m'apprendre à travers
‫ça, la technique du canard en caoutchouc.
‫Alors obtenez l'image de test, les noms de fichiers qui nous obligeront à écrire juste une petite liste de compréhension comme
‫nous l'avons fait auparavant pour accéder au test, parcourez tous les fichiers ici et enregistrez les noms de fichiers dans une sorte
‫de liste.
‫Oui, nous pouvons le faire et nous devons ensuite convertir les noms de fichiers en lots de données de test en utilisant créer des
‫lots de données.
‫Et réglage.
‫Les données de test, rappelez-vous comment nous avons créé des paramètres pour créer des lots de données, si vous ne le faites pas, ce n'est pas grave.
‫On va voir dans un second paramètre à vrai car pourquoi ?
‫En quoi nos données de test sont-elles différentes de nos données d'entraînement ?
‫Il n'y a pas d'étiquettes avec les données de test.
‫Donc, puisque les données de test n'ont pas d'étiquettes et que finalement nous faisons des prédictions, les prédictions sont correctes
‫en passant les lots de données de test à la prédiction.
‫La méthode a fait appel à notre modèle, nous avons là trois étapes, mais nous pouvons les faire, nous pouvons les aborder une par
‫une.
‫Et si on commençait par le premier ?
‫C'est assez logique.
‫Chargez les noms de fichiers d'images de test.
‫Que pourrions-nous faire?
‫Nous pourrions tester les noms de noms de fichiers, des égaux simples et agréables, en fait, nous pourrions configurer le chemin de test.
‫Que diriez-vous de faire ce chemin de test égal.
‫Et nous allons simplement le copier ici pour nous sauver, en l'exécutant deux fois.
‫Chemin de copie.
‫C'est un petit conseil pratique, vous pouvez le faire et coller, nous n'avons pas besoin de contenu.
‫Nous pourrions simplement le garder là si nous le voulions, mais je vais le supprimer, il est
‫donc cohérent avec les autres parties que nous avons et je vais mettre celui-ci ici.
‫C'est donc mon chemin vers le dossier de test.
‫Alors maintenant, nous allons créer une petite liste de compréhension égale au chemin de test plus le nom F nom
‫de fichier pour le nom F dans notre liste pendant le chemin de test.
‫Maintenant, nous avons déjà vu cela lors de la création des noms de fichiers de formation d'origine, mais rappelons-nous simplement ce
‫qu'il fait.
‫Donc, notre liste passe simplement par un répertoire de listes.
‫C'est son abréviation, c'est juste dire, hé, Python, donne-moi tous les noms de fichiers dans ce dossier.
‫Et puis nous créons une liste qui ajoute le chemin de test, c'est-à-dire que tout cela ajoute le chemin
‫de test ainsi que chaque nom de fichier.
‫Le vote d'essai sur.
‫Jetons un coup d'œil, en cas de doute, exécutons le code.
‫Merveilleux.
‫Alors maintenant, nous avons les noms de fichiers vers nos données de test.
‫On peut enlever ça.
‫Obtenez nos emoji de technologie verte, ce cahier sera rempli d'eux d'ici la fin.
‫OK, maintenant nous l'avons.
‫Quelle est notre prochaine étape ?
‫Convertissez les noms de fichiers en lots de données de test à l'aide de créer des lots de données.
‫Oh, j'ai dit rendez-vous là-bas.
‫C'est faux.
‫Et on va le réparer.
‫Tout d'abord, faisons une petite vérification de la longueur de notre téléphone de test et voyons combien d'images nous avons.
‫Dix mille trois cent cinquante sept.
‫Merveilleux.
‫Alors maintenant, pour créer un lot de données, c'est assez simple.
‫Nous introduisons simplement notre fonction, nous testons les données, nous écrirons un commentaire ici avant de commencer.
‫Créez donc un lot de données de test.
‫Et nous allons créer des lots de données s'il sait de quoi nous parlons, puis nous allons lui transmettre les
‫noms de fichiers de test.
‫Et nous allons également voir qu'il y a des sondages de données, nous allons donc tester que les données sont égales à vrai.
‫Et nous allons exécuter cela.
‫Merveilleux.
‫Nous obtenons une petite impression disant de créer des données de test, des lots, une fonction si
‫géniale que nous avons écrite, revenons ici et réexaminons-la, transformant nos données en lots.
‫Nous avons donc une fonction, créer un lot de données ou créer des lots de données.
‫Et que fait-il s'il s'agit de données de test, ce qu'il en est, il imprime cette
‫petite déclaration et puis il va, hé, transforme nos noms de fichiers en temps, puis utilise de 10 à tranches pour le convertir en un ensemble
‫de données de tenseur, puis crée un lot de données en mappant la fonction image de processus.
‫N'oubliez pas que nous ne transmettons pas l'étiquette get image à l'ensemble de données de test car il n'y a pas d'étiquette avec l'ensemble de données
‫de test.
‫Nous traitons donc nos images comme nous l'avons fait sur les données d'entraînement, puis nous les transformons
‫en un lot, dans notre cas, des lots de taille 32 afin qu'il puisse être calculé très rapidement avec notre GPU.
‫Revenons donc là où nous en étions.
‫C'est ce que nous avons.
‫Et si nous allons tester les données.
‫C'est un ensemble de données par lots de formes, il n'y a donc pas d'étiquettes ici, ce ne sont que des images de deux à quatre par
‫deux à quatre par trois quatre.
‫Les canaux de couleur de type flux tenseur flottent si beaux.
‫Nous avons nos données de test sous forme de lots de tenseurs.
‫C'est ce que nous recherchons.
‫Et maintenant.
‫La finale, nous pouvons venir ici, voir à quel point l'écriture pratique de nos fonctions pour commencer nous a aidé.
‫Nous avons créé un modèle complet.
‫Nous avons essayé une base de données qui en un seul coup.
‫Nous allons maintenant créer un tableau de prédictions.
‫Alors comment pouvons-nous faire cela?
‫Faites des prédictions sur le lot de données de test à l'aide du modèle complet chargé.
‫D'accord.
‫Alors testez les prédictions.
‫Eagles chargé, modèle complet, ne prédisez pas.
‫Données de test.
‫Nous allons régler cela sur ferbos égal à un.
‫Excellent.
‫Maintenant, je dois en quelque sorte vous avertir que cela va prendre assez de temps.
‫La raison en est parce que mettons une petite note ici avant de nous lancer moi-même, notez l'appel.
‫Même si nous fonctionnons sur un GPU, cela revient à entraîner nos
‫modèles complets. Par conséquent, si vous calculez des prédictions sur notre modèle complet et le réussissez, le lot de données de test prendra beaucoup de temps à s'exécuter.
‫Et puis ça va être quelque chose comme une chauve-souris maintenant, nous allons juste tenir environ une heure.
‫C'est ce que j'ai trouvé de toute façon, la raison en est que nous avons 10 000 autres images ici et ce que nous
‫devons faire est d'obtenir notre modèle complet chargé.
‫Ainsi, tous les modèles que notre modèle complet chargé a appris et l'ensemble de données d'entraînement
‫doivent passer par ces processus.
‫Les 10 000 images de nos noms de fichiers de test sont notre lot de données de test.
‫Et puis faire des prédictions sur celles basées sur les modèles qu'il trouve dans ces données de test.
‫Nous avons donc défini verbose égal à un afin que lorsque nous l'exécuterons, cela nous donnera un autre petit pas de temps
‫pour nous mettre à jour sur ce qui se passe.
‫Alors sans plus tarder, exécutons ceci.
‫Et attendez qu'il se charge, puis nous ferons la même chose, accélérez tous la vidéo pour qu'elle soit
‫comme instantanément chargée pour vous.
‫En réalité, il vous faudra un certain temps pour faire fonctionner leur cellule.
‫En réalité, il me faudra un certain temps pour exécuter cette cellule, mais je le fais juste
‫pour vous la montrer, en la chargeant, en créant un message ETA, puis en faisant quelques prédictions sur le testateur.
‫Alors on va juste attendre un peu, ça va monter, c'est parti.
‫C'est donc environ 38 minutes.
‫Il doit passer par 324 lots.
‫Et c'est parce que si vous allez dix mille trois cent cinquante sept, divisé par 32.
‫Cela va arrondir à trois cent vingt-quatre, c'est de là que vient ce nombre.
‫Bon alors je vais attendre que ça passe.
‫Vous devrez peut-être aussi attendre que cela passe.
‫En fait, vous n'avez pas à attendre.
‫Je reviens dans quelques secondes.
‫Je vais donc mettre ma vidéo en pause ici et je serai de retour dans trois contre un.
‫Et nous sommes de retour maintenant.
‫Je suis allé faire quelque chose d'un peu effronté ici.
‫Comme vous le voyez, il nous reste environ une heure.
‫Mais j'ai pensé que je préférais m'asseoir ici et attendre ça.
‫En fait, comme tout bon chef, je l'ai fait.
‫J'ai préparé un plat plus tôt, j'ai donc suivi ce processus et j'ai attendu une heure complète pour
‫le faire.
‫Et maintenant, vous pouvez attendre que le vôtre passe.
‫Mais si vous souhaitez télécharger un ESV prédéfini des prévisions de test, attachez-le tous dans la section congélateur afin que vous n'ayez pas
‫à attendre cette heure complète pour le parcourir.
‫Et maintenant, j'aurais probablement dû vous le dire avant de diriger cette cellule, mais c'est une bonne chose de se mouiller les
‫pieds et de trouver une meilleure façon de faire les choses.
‫Si nous voulions que cela enregistre les prédictions de test dans un fichier CSB après son exécution, car si nous attendions une heure complète pour
‫qu'il s'exécute et que nous nous déconnections en quelque sorte de l'exécution et que cela n'enregistrait pas, cela serait
‫assez décevant.
‫Donc, ce que nous pouvons faire, c'est utiliser ENPI, ne pas enregistrer le texte de cette fonction ici pour enregistrer cette charge de
‫falsification pendant son exécution ?
‫Je ne pense pas que ce sera le cas.
‫Mais qu'est-ce que cela va faire, oh, nous avons oublié ce tableau Freds.
‫Alors disons que c'est fini.
‫Si j'ai exécuté cette cellule après celle-ci, cela va enregistrer les prédictions de test, donc ce Nampara, qui
‫est une prédiction, les probabilités Arae dans ce fichier en tant que CSV avec le délimiteur virgule pour les valeurs séparées par des virgules.
‫Et puis une fois enregistré, il apparaîtra.
‫Dans nos fichiers, en tant que producteur, je ne fais pas CSFI, car c'est le nom de fichier que nous lui avons donné,
‫puis nous pouvons utiliser et télécharger du texte pour le recharger.
‫Alors qu'est-ce qui va faire?
‫Plutôt que d'attendre que cela se termine, je vais simplement vous montrer cela en action, ce sont donc quelques
‫probabilités de prédiction que j'ai faites dans le passé avec un modèle complet.
‫Alors je vais arrêter ça.
‫Il me restait une heure.
‫Donc, encore une fois, mon estimation que cela va prendre environ une heure est incorrecte.
‫Donc interruption clavier.
‫On y va.
‫Donc, nous n'allons pas exécuter cela parce que j'ai déjà enregistré cela à Zarei, mais je vais exécuter
‫là-bas.
‫Imaginons donc que je l'ai exécuté une fois que cette cellule est terminée.
‫Cela a donc atteint zéro.
‫Je vais donc charger dans le désarroi d'un sentiment de chute.
‫Beau.
‫Voyons maintenant les 10 premiers.
‫Et voilà, ce sont donc toutes des probabilités de prédiction pour les 10 000 images, alors regardons la
‫forme des prédictions de test.
‫Dix mille trois cent cinquante sept, c'est donc le nombre d'images de test que nous avons et chacune d'entre
‫elles a cent vingt probabilités de prédiction différentes.
‫Maintenant, nous avons déjà vu ces valeurs.
‫Et alors rappelez-vous, je viens de prendre cela, laissez-le fonctionner dans son ampleur, enregistrez cet ASV dans un fichier que j'ai fait plus tôt,
‫comme si nous avions cuisiné quelque chose plus tôt et que je venais de recharger ici.
‫Si mon environnement d'exécution se déconnecte, je souhaite que ce fichier soit enregistré dans un endroit où je puisse y accéder plus tard.
‫Et alors, quelle est notre prochaine mission, si nous voulions soumettre ce tableau de prédictions à Kagle, à quoi
‫devrait-il ressembler ?
‫L'exemple de soumission est donc ici.
‫Oh, quelque chose s'est mal passé dans vos données.
‫Ce n'est pas très amusant, mais heureusement, j'ai ce fichier et cette vision de chien.
‫Et c'est un ASV et donc tout ce que j'ai fait c'est que je viens de le télécharger et de l'ouvrir ainsi que des feuilles Google, voilà à
‫quoi ça ressemble.
‫C'est l'exemple de soumission dont nous avons besoin pour obtenir notre tableau de prédictions dans quelque chose comme ça.
‫Donc une colonne ID puis une colonne pour chacune des différentes races de chiens et ensuite leurs probabilités de prédiction.
‫C'est donc ce sur quoi nous avons travaillé dans la prochaine vidéo pour obtenir des probabilités de prédiction,
‫un tableau pour la vision du chien ou nous revenons en fait au format d'identification de la race de chien Kagle.
‫Nous allons donc le configurer comme ça afin que nous puissions faire une soumission à Kagle avec nos prédictions.