Denne bloggen vil diskutere hvordan ' Tilfeldig sletting ”-metoden fungerer i PyTorch.
Hvorfor brukes metoden 'Tilfeldig sletting' i PyTorch?
Tilfeldig fjerning av data fra bildene utgjør et problem for opplæringen av bildeanalysemodeller fordi de er tvunget til å tilpasse seg utilstrekkelig data. Dette forbereder en modell for oppgaver i den virkelige verden der fullstendige data ikke alltid er tilstede. Modellen blir langt bedre til å kunne trekke slutninger fra alle slags data og klare å vise resultater. Valget av piksler for fjerning er tilfeldig, så det er ingen introduksjon av skjevhet og det resulterende bildet brukes som inngangsdata under trening.
Hvordan fungerer metoden 'Tilfeldig sletting' i PyTorch?
Random Erasing-metoden brukes for å gjøre en dyp læringsmodell bedre rustet til å håndtere reelle applikasjoner. Følg trinnene nedenfor for å lære hvordan du bruker den i PyTorch-prosjektene dine for å øke databehandlingen og forbedre slutningsevnene:
Trinn 1: Sett opp Collaboratory IDE
Google Colab er et ideelt valg for utvikling av AI-modeller som bruker PyTorch-rammeverket. Naviger til Collaboratory nettsted og lanser en ' Ny notatbok ':
Trinn 2: Importer de nødvendige bibliotekene
Bruke ' !pip '-pakkeinstallasjonsprogram levert av Python for å installere biblioteker og bruke ' import kommando for å importere dem til prosjektet:
import lommelyktimport fakkelsyn. transformerer som ts
fra PIL import Bilde
import matplotlib. pyplot som plt
Beskrivelsen av gitt kode er som følger:
- Importer ' lommelykt ' biblioteket ved å bruke ' import ' kommando.
- « torchvision.transformers ”-pakken inneholder transformasjonene for tilfeldig sletting.
- ' PIL ” er python-bildebiblioteket og det inneholder funksjonaliteten for å behandle bilder.
- « matplotlib.pyplot ”-biblioteket brukes til å visualisere de originale og transformerte bildene:
Trinn 3: Last opp inndatabildet
Last opp bildet i Filer-delen:
Deretter laster du inn bildet ved å bruke ' åpen() '-metoden til 'Bilde'-modulen:
bilde = Bilde. åpen ( 'a2.jpeg' )Trinn 4: Spesifiser transformasjon for å utføre transformasjoner
Definer nå en ' Tilfeldig sletting ” transformator som vil transformere bildet ved å velge det tilfeldige rektangulære området og slette pikslene. Konverter i tillegg inngangsbildet til fakkelsensoren ved å bruke ' ToTensor() '-metoden hvis det er et PIL-bilde og deretter konvertere det tilbake til PIL-bildet via ' ToPILImage() ':
forvandle = ts. Skriv ( [ ts. TilTensor ( ) , ts. Tilfeldig sletting ( s = 0,5 , skala = ( 0,02 , 0,33 ) , forhold = ( 0,3 , 3.3 ) , verdi = 0 , på plass = Falsk ) , ts. TOPILIbilde ( ) ] )Parametrene som brukes i ovenstående ' Tilfeldig sletting ' transformator er forklart nedenfor:
- p: Det representerer sannsynligheten for at den tilfeldige heveoperasjonen vil bli oppnådd.
- skala: Den angir rekkevidden til det slettede området til et inndatabilde.
- forhold: Det angir sideforholdet til det slettede området.
- verdi: Den spesifiserer sletteverdien som er '0' som standard. Hvis det er et enkelt heltall, fjerner den alle piksler, og hvis det er en tuppel som har tre heltall, fjerner den henholdsvis R-, G- og B-kanalene.
- på plass: Det er en 'boolsk' verdi som gjør den gitte tilfeldige slettetransformatoren på plass. Som standard er det 'false'.
Trinn 5: Bruk ordbokforståelse for å ta utdatabilder
Bruk ordbokforståelseskonseptet for å ta de fire utdatabildene:
Bilder = [ forvandle ( bilde ) til _ i område ( 4 ) ]Trinn 6: Vis frem de fire utdatabildene
Til slutt, vis de fire utgangsbildene ved hjelp av kodeblokken nedenfor:
Fig = plt. figur ( fikenstørrelse = ( 7 , 4 ) )rader , cols = 2 , 2
til j i område ( 0 , bare ( Bilder ) ) :
Fig. add_subplot ( rader , cols , j+ 1 )
plt. imshow ( Bilder [ j ] )
plt. xticks ( [ ] )
plt. yticks ( [ ] )
plt. forestilling ( )
Kodebeskrivelsen ovenfor er som følger:
- Bruk ' plt.figure() ” metode for å plotte de fire bildene med spesifisert bredde og høyde.
- Deretter spesifiser spesifikke rader og kolonner for å justere de fire bildene.
- Etter det initialiseres en 'for'-løkke som bruker ' delplott() '-metoden for å definere delplotten, 'show()'-metoden for å vise bildene, og ' plt.xticks() ' i tillegg til ' plt.yticks() ” for å angi gjeldende hakeplassering og etiketter for x- og y-aksen.
- Til slutt bruker du ' plt.show() ' metode for å skrive ut bildene til utdata:
Merk : Brukere kan få tilgang til vår Colab Notebook ved å bruke den medfølgende link .
Pro-Tips
En nøkkelbruk av ' Tilfeldig sletting ”-metoden i PyTorch-prosjekter er sikkerhet. Den kan brukes til å fjerne piksler fra sensitive bilder som de som inneholder noen forretningshemmeligheter eller noe annet av verdi. Den spesifikke tilfeldige funksjonen for denne slettingen vil bare være kjent for den opprinnelige brukeren, og bare brukeren vil kunne gjenopprette de slettede bildene tilbake til originalversjonen.
Suksess! Vi har vist hvordan metoden for tilfeldig sletting fungerer i PyTorch.
Konklusjon
« Tilfeldig sletting ”-metoden i PyTorch fungerer ved å fjerne tilfeldige piksler fra et bilde og etterligne et virkelighetsscenario for å trene modellen bedre. Dette vil gjøre modellen mer dyktig til å håndtere ulike typer data for å trekke kvalitetsslutninger fra ufullstendige data. Vi har illustrert hvordan du bruker ' Tilfeldig sletting ”-metoden i PyTorch.