Hvordan virker metoden 'Random Erasing' i PyTorch?

Hvordan Virker Metoden Random Erasing I Pytorch



Effektiviteten af ​​PyTorch-rammen til udvikling af komplekse og state-of-the-art Machine Learning-modeller skyldes dets brede vifte af udvidende funktioner og ' Tilfældig sletning ” metode er en af ​​dem. Som navnet antyder, vælger den tilfældigt et billede og fjerner en del af dets data for at efterligne en situation i den virkelige verden, hvor ufuldstændige data præsenteres. Dette forbedrer en models evne til at tilpasse sig og præstere godt i nye og udfordrende situationer.

Denne blog vil diskutere, hvordan ' Tilfældig sletning ”-metoden fungerer i PyTorch.

Hvorfor bruges metoden 'Random Erasing' i PyTorch?

Tilfældig fjernelse af data fra billederne udgør et problem for træningen af ​​billedanalysemodeller, fordi de er tvunget til at tilpasse sig utilstrækkelige data. Dette forbereder en model til opgaver i den virkelige verden, hvor fuldstændige data ikke altid er til stede. Modellen bliver langt bedre til at kunne drage slutninger fra alverdens data og formår at vise resultater. Valget af pixels til fjernelse er tilfældigt, så der er ingen introduktion af bias, og det resulterende billede bruges som inputdata under træning.







Hvordan virker metoden 'tilfældig sletning' i PyTorch?

Random Erasing-metoden bruges til at gøre en deep learning-model bedre rustet til at håndtere rigtige applikationer. Følg nedenstående trin for at lære, hvordan du bruger det i dine PyTorch-projekter for at øge deres datastyring og forbedre slutningsmuligheder:



Trin 1: Konfigurer Colaboratory IDE

Google Colab er et ideelt valg til udvikling af AI-modeller ved hjælp af PyTorch-rammeværket. Naviger til Kolaboratoriet internet side og start en ' Ny notesbog ”:







Trin 2: Importer de nødvendige biblioteker

Brug ' !pip ”-pakkeinstallationsprogram leveret af Python til at installere biblioteker og bruge importere kommando for at importere dem til projektet:

importere fakkel

importere fakkelsyn. transformerer som ts

fra PIL importere Billede

importere matplotlib. pyplot som plt

Beskrivelsen af ​​den givne kode er som følger:



  • Importer ' fakkel ' bibliotek ved hjælp af ' importere ” kommando.
  • Det ' torchvision.transformers ”-pakken indeholder transformationerne til tilfældig sletning.
  • PIL ” er python-billedbiblioteket, og det indeholder funktionaliteten til behandling af billeder.
  • Det ' matplotlib.pyplot ” bibliotek bruges til at visualisere de originale og transformerede billeder:

Trin 3: Upload inputbilledet

Upload billedet i afsnittet Filer:

Indlæs derefter inputbilledet ved hjælp af ' åben() '-metoden for 'Billede'-modulet:

billede = Billede. åben ( 'a2.jpeg' )

Trin 4: Angiv transformation for at udføre transformationer

Definer nu en ' Tilfældig sletning ” transformer, der vil transformere billedet ved at vælge dets tilfældige rektangulære område og slette dets pixels. Konverter desuden inputbilledet til brændersensoren ved hjælp af ' ToTensor() '-metoden, hvis det er et PIL-billede, og konverter det derefter tilbage til PIL-billedet via ' ToPILImage() ”:

transformere = ts. Skriv ( [ ts. TilTensor ( ) , ts. Tilfældig sletning ( s = 0,5 , vægt = ( 0,02 , 0,33 ) , forhold = ( 0,3 , 3.3 ) , værdi = 0 , på plads = Falsk ) , ts. TOPILI-billede ( ) ] )

De anvendte parametre i ovenstående ' Tilfældig sletning ' transformer er forklaret nedenfor:

  • p: Det repræsenterer sandsynligheden for, at den tilfældige hæveoperation vil blive opnået.
  • vægt: Det angiver rækkevidden af ​​det slettede område af et inputbillede.
  • forhold: Det angiver billedformatet for det slettede område.
  • værdi: Den specificerer sletteværdien, som er '0' som standard. Hvis det er et enkelt heltal, fjerner det alle pixels, og hvis det er en tupel med tre heltal, fjerner det henholdsvis R-, G- og B-kanalerne.
  • på plads: Det er en 'boolesk' værdi, der gør den givne tilfældige slettetransformator på plads. Som standard er den 'falsk'.

Trin 5: Brug ordbogsforståelse til at tage outputbilleder

Brug ordbogsforståelseskonceptet til at tage de fire outputbilleder:

billeder = [ transformere ( billede ) til _ i rækkevidde ( 4 ) ]

Trin 6: Vis de fire outputbilleder

Til sidst skal du vise de fire outputbilleder ved hjælp af den nedenfor angivne kodeblok:

fig = plt. figur ( figenstørrelse = ( 7 , 4 ) )

rækker , cols = 2 , 2

til j i rækkevidde ( 0 , kun ( billeder ) ) :

fig. add_subplot ( rækker , cols , j+ 1 )

plt. imshow ( billeder [ j ] )

plt. xticks ( [ ] )

plt. yticks ( [ ] )

plt. at vise ( )

Ovenstående kodebeskrivelse er som følger:

  • Anvend ' plt.figure() ” metode til at plotte de fire billeder med specificeret bredde og højde.
  • Angiv derefter specifikke rækker og kolonner for at justere de fire billeder.
  • Derefter initialiseres en 'for'-løkke, der anvender ' subplot() ”-metoden til at definere underplottet, ”show()”-metoden til at vise billederne, og ” plt.xticks() ' såvel som ' plt.yticks() ” for at indstille den aktuelle afkrydsningsposition og etiketter for x- og y-aksen.
  • Brug endelig ' plt.show() ” metode til at udskrive billederne til output:

Bemærk : Brugere kan få adgang til vores Colab Notebook ved hjælp af den medfølgende link .

Pro-Tip

En vigtig anvendelse af ' Tilfældig sletning ”-metoden i PyTorch-projekter er sikkerhed. Det kan bruges til at fjerne pixels fra følsomme billeder, såsom dem, der indeholder nogle forretningshemmeligheder eller noget andet af værdi. Den specifikke tilfældige funktion for denne sletning ville kun være kendt af den oprindelige bruger, og kun brugeren ville være i stand til at gendanne de slettede billeder tilbage til deres originale version.

Succes! Vi har vist, hvordan metoden til tilfældig sletning fungerer i PyTorch.

Konklusion

Det ' Tilfældig sletning ”-metoden i PyTorch virker ved at fjerne tilfældige pixels fra et billede og efterligne et scenarie i den virkelige verden for bedre at træne modellen. Dette vil gøre modellen mere dygtig til at håndtere forskellige typer data for at drage kvalitetsslutninger fra ufuldstændige data. Vi har illustreret, hvordan du bruger ' Tilfældig sletning ” metode i PyTorch.