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 torcheimporter 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.