Comment fonctionne la méthode « Effacement aléatoire » dans PyTorch ?

Comment Fonctionne La Methode Effacement Aleatoire Dans Pytorch



L'efficacité du framework PyTorch pour le développement de modèles d'apprentissage automatique complexes et de pointe est due à son large éventail de fonctionnalités d'augmentation et au « Effacement aléatoire » La méthode en fait partie. Comme son nom l'indique, il sélectionne aléatoirement une image et supprime une partie de ses données pour imiter une situation réelle dans laquelle des données incomplètes sont présentées. Cela améliore la capacité d’un modèle à s’adapter et à bien fonctionner dans des situations nouvelles et difficiles.

Ce blog expliquera comment le « Effacement aléatoire ' La méthode fonctionne dans PyTorch.

Pourquoi la méthode « Effacement aléatoire » est-elle utilisée dans PyTorch ?

La suppression aléatoire des données des images présente un problème pour la formation des modèles d'analyse d'images car ils sont obligés de s'adapter à des données insuffisantes. Cela prépare un modèle pour les tâches du monde réel où des données complètes ne sont pas toujours présentes. Le modèle devient bien meilleur dans sa capacité à tirer des inférences à partir de toutes sortes de données et à afficher les résultats. La sélection des pixels à supprimer est aléatoire, il n'y a donc pas d'introduction de biais et l'image résultante est utilisée comme données d'entrée pendant l'entraînement.







Comment fonctionne la méthode « Effacement aléatoire » dans PyTorch ?

La méthode Random Erasing est utilisée pour rendre un modèle d’apprentissage profond mieux équipé pour gérer des applications réelles. Suivez les étapes ci-dessous pour savoir comment l'utiliser dans vos projets PyTorch afin d'augmenter leur gestion de données et d'améliorer les capacités d'inférence :



Étape 1 : Configurer l'EDI colaboratoire

Google Colab est un choix idéal pour le développement de modèles d'IA à l'aide du framework PyTorch. Accédez au Colaboratoire site web et lancez un « Nouveau cahier » :







Étape 2 : Importez les bibliothèques nécessaires

Utilisez le ' !pépin ' Installateur de package fourni par Python pour installer les bibliothèques et utiliser le ' importer » commande pour les importer dans le projet :

importer torche

importer vision de la torche. se transforme comme ts

depuis PIL importer Image

importer matplotlib. pyplot comme plt

La description du code donné est la suivante :



  • Importez le « torche ' bibliothèque en utilisant le ' importer ' commande.
  • Le ' torchvision.transforms ' Le package contient les transformations pour l'effacement aléatoire.
  • ' PIL ' est la bibliothèque d'images Python et contient les fonctionnalités de traitement des images.
  • Le ' matplotlib.pyplot ' La bibliothèque est utilisée pour visualiser les images originales et transformées :

Étape 3 : Téléchargez l'image d'entrée

Téléchargez l'image dans la section Fichiers :

Ensuite, chargez l'image d'entrée à l'aide du bouton ' ouvrir() » méthode du module « Image » :

image = Image. ouvrir ( 'a2.jpeg' )

Étape 4 : Spécifiez la transformation pour effectuer des transformations

Maintenant, définissez un « Effacement aléatoire ' Transformateur qui transformera l'image en sélectionnant sa région rectangulaire aléatoire et en effaçant ses pixels. De plus, convertissez l’image d’entrée en capteur de torche à l’aide du «  ÀTensor() ' s'il s'agit d'une image PIL, puis reconvertissez-la en image PIL via le ' VersPILImage() » :

transformer = c.t. Composer ( [ c.t. VersTensor ( ) , c.t. Effacement aléatoire ( p = 0,5 , échelle = ( 0,02 , 0,33 ) , rapport = ( 0,3 , 3.3 ) , valeur = 0 , en place = FAUX ) , c.t. VersPILImage ( ) ] )

Les paramètres utilisés dans ce qui précède ' Effacement aléatoire ' transformateur sont expliqués ci-dessous :

  • p : Il représente la probabilité que l'opération de levée aléatoire soit réalisée.
  • échelle: Il indique la plage de la zone effacée d’une image d’entrée.
  • rapport: Il indique le rapport hauteur/largeur de la région effacée.
  • valeur: Il précise la valeur d'effacement qui est « 0 » par défaut. S'il s'agit d'un seul entier, il supprime tous les pixels, et s'il s'agit d'un tuple comportant trois entiers, il supprime respectivement les canaux R, V et B.
  • en place: Il s'agit d'une valeur « booléenne » qui rend le transformateur d'effacement aléatoire donné en place. Par défaut, c'est « faux ».

Étape 5 : Utiliser la compréhension du dictionnaire pour prendre des images de sortie

Utilisez le concept de compréhension du dictionnaire pour prendre les quatre images de sortie :

images = [ transformer ( image ) pour _ dans gamme ( 4 ) ]

Étape 6 : Présenter les quatre images de sortie

Enfin, affichez les quatre images de sortie à l'aide du bloc de code indiqué ci-dessous :

figue = plt. chiffre ( taille de figue = ( 7 , 4 ) )

Lignes , cols = 2 , 2

pour j dans gamme ( 0 , seulement ( images ) ) :

figue. add_subplot ( Lignes , cols , j+ 1 )

plt. je montre ( images [ j ] )

plt. xticks ( [ ] )

plt. ytiques ( [ ] )

plt. montrer ( )

La description du code ci-dessus est la suivante :

  • Appliquer le ' plt.figure() ' méthode pour tracer les quatre images de largeur et de hauteur spécifiées.
  • Ensuite, spécifiez des lignes et des colonnes spécifiques pour ajuster les quatre images.
  • Après cela, initialisez une boucle « for » qui applique le « sous-intrigue() ' pour définir la sous-intrigue, la méthode ' show() ' pour afficher les images et la méthode ' plt.xticks() ' ainsi que ' plt.yticks() ' pour définir l'emplacement actuel de la graduation et les étiquettes des axes x et y.
  • Enfin, utilisez le ' plt.show() ' Méthode pour imprimer les images à sortir :

Note  : Les utilisateurs peuvent accéder à notre Colab Notebook en utilisant le lien .

Conseil de pro

Une utilisation clé du « Effacement aléatoire » La méthode dans les projets PyTorch est la sécurité. Il peut être utilisé pour supprimer les pixels des images sensibles telles que celles contenant des secrets commerciaux ou autre chose de valeur. La fonction aléatoire spécifique de cet effacement ne serait connue que de l'utilisateur d'origine et seul l'utilisateur serait en mesure de restaurer les images effacées dans leur version originale.

Succès! Nous avons montré comment fonctionne la méthode d'effacement aléatoire dans PyTorch.

Conclusion

Le ' Effacement aléatoire 'La méthode de PyTorch fonctionne en supprimant les pixels aléatoires d'une image et en imitant un scénario du monde réel afin de mieux entraîner le modèle. Cela rendra le modèle plus apte à gérer différents types de données afin de tirer des inférences de qualité à partir de données incomplètes. Nous avons illustré comment utiliser le «  Effacement aléatoire » méthode dans PyTorch.