Hur fungerar metoden 'Random Erasing' i PyTorch?

Hur Fungerar Metoden Random Erasing I Pytorch



Effektiviteten hos PyTorch-ramverket för utveckling av komplexa och toppmoderna maskininlärningsmodeller beror på dess breda utbud av utökade funktioner och ' Slumpmässig radering ”-metoden är en av dem. Som namnet antyder väljer den slumpmässigt en bild och tar bort en del av dess data för att efterlikna en verklig situation där ofullständig data presenteras. Detta förbättrar en modells förmåga att anpassa sig och prestera bra i nya och utmanande situationer.

Den här bloggen kommer att diskutera hur ' Slumpmässig radering ”-metoden fungerar i PyTorch.

Varför används metoden 'Random Erasing' i PyTorch?

Slumpmässig borttagning av data från bilderna utgör ett problem för utbildningen av bildanalysmodeller eftersom de tvingas anpassa sig till otillräckliga data. Detta förbereder en modell för verkliga uppgifter där fullständiga data inte alltid finns närvarande. Modellen blir mycket bättre på att kunna dra slutsatser från alla möjliga typer av data och lyckas visa resultat. Valet av pixlar för borttagning är slumpmässigt så det finns ingen introduktion av bias och den resulterande bilden används som indata under träning.







Hur fungerar metoden 'Random Erasing' i PyTorch?

Metoden Random Erasing används för att göra en djupinlärningsmodell bättre rustad att hantera riktiga applikationer. Följ stegen nedan för att lära dig hur du använder den i dina PyTorch-projekt för att öka deras datahantering och förbättra slutledningsmöjligheter:



Steg 1: Konfigurera Collaboratory IDE

Google Colab är ett idealiskt val för utveckling av AI-modeller som använder PyTorch-ramverket. Navigera till Collaboratory hemsida och starta en ' Ny anteckningsbok ”:







Steg 2: Importera de nödvändiga biblioteken

Använd ' !pip ”-paketinstallationsprogram tillhandahållet av Python för att installera bibliotek och använda ” importera ” kommando för att importera dem till projektet:

importera fackla

importera fackelvision. omvandlar som ts

från PIL importera Bild

importera matplotlib. pyplot som plt

Beskrivningen av given kod är som följer:



  • Importera ' fackla ”-bibliotek med hjälp av ” importera ” kommando.
  • den ' torchvision.transformers ”-paketet innehåller transformationerna för Random Erasing.
  • ' PIL ” är python-bildbiblioteket och det innehåller funktionaliteten för att bearbeta bilder.
  • den ' matplotlib.pyplot ”-biblioteket används för att visualisera de ursprungliga och transformerade bilderna:

Steg 3: Ladda upp ingångsbilden

Ladda upp bilden i avsnittet Filer:

Ladda sedan in inmatningsbilden med ' öppen() '-metoden för 'Bild'-modulen:

bild = Bild. öppen ( 'a2.jpeg' )

Steg 4: Ange Transform to Perform Transformations

Definiera nu en ' RandomErasing ” transformator som kommer att transformera bilden genom att välja dess slumpmässiga rektangulära område och radera dess pixlar. Konvertera dessutom ingångsbilden till ficklampssensorn med hjälp av ' ToTensor() ”-metoden om det är en PIL-bild och sedan konvertera den tillbaka till PIL-bilden via ” ToPILImage() ”:

omvandla = ts. Komponera ( [ ts. TillTensor ( ) , ts. RandomErasing ( sid = 0,5 , skala = ( 0,02 , 0,33 ) , förhållande = ( 0,3 , 3.3 ) , värde = 0 , på plats = Falsk ) , ts. TOPILIbild ( ) ] )

Parametrarna som används i ovanstående ' RandomErasing ' transformator förklaras nedan:

  • p: Det representerar sannolikheten att den slumpmässiga höjningsoperationen kommer att uppnås.
  • skala: Den indikerar räckvidden för det raderade området i en inmatad bild.
  • förhållande: Det anger bildförhållandet för det raderade området.
  • värde: Den anger raderingsvärdet som är '0' som standard. Om det är ett enda heltal tar det bort alla pixlar, och om det är en tuppel med tre heltal så tar det bort R-, G- och B-kanalerna.
  • på plats: Det är ett 'booleskt' värde som gör den givna slumpmässiga raderingstransformatorn på plats. Som standard är det 'falskt'.

Steg 5: Använd ordboksförståelse för att ta utdatabilder

Använd ordboksförståelsekonceptet för att ta de fyra utdatabilderna:

bilder = [ omvandla ( bild ) för _ i räckvidd ( 4 ) ]

Steg 6: Visa upp de fyra utdatabilderna

Till sist, visa de fyra utdatabilderna med hjälp av det nedan angivna kodblocket:

fikon = plt. figur ( fikonstorlek = ( 7 , 4 ) )

rader , cols = 2 , 2

för j i räckvidd ( 0 , endast ( bilder ) ) :

fikon. add_subplot ( rader , cols , j+ 1 )

plt. imshow ( bilder [ j ] )

plt. xticks ( [ ] )

plt. yticks ( [ ] )

plt. show ( )

Ovanstående kodbeskrivning är som följer:

  • Använd ' plt.figure() ” metod för att plotta de fyra bilderna med specificerad bredd och höjd.
  • Ange sedan specifika rader och kolumner för att justera de fyra bilderna.
  • Efter det initialiseras en 'för'-loop som tillämpar ' subplot() ”-metoden för att definiera subplotten, ”show()”-metoden för att visa bilderna och ” plt.xticks() ' såväl som ' plt.yticks() ” för att ställa in aktuell bockplats och etiketter för x- och y-axeln.
  • Använd slutligen ' plt.show() ”-metod för att skriva ut bilderna till utdata:

Notera : Användare kan komma åt vår Colab Notebook med hjälp av det medföljande länk .

Proffstips

En viktig användning av ' Slumpmässig radering ”-metoden i PyTorch-projekt är säkerhet. Den kan användas för att ta bort pixlar från känsliga bilder som de som innehåller vissa affärshemligheter eller något annat av värde. Den specifika slumpmässiga funktionen för denna radering skulle endast vara känd för den ursprungliga användaren och endast användaren skulle kunna återställa de raderade bilderna till sin ursprungliga version.

Framgång! Vi har visat hur metoden för slumpmässig radering fungerar i PyTorch.

Slutsats

den ' Slumpmässig radering ”-metoden i PyTorch fungerar genom att ta bort slumpmässiga pixlar från en bild och efterlikna ett verkligt scenario för att bättre träna modellen. Detta kommer att göra modellen mer skicklig på att hantera olika typer av data för att dra kvalitetsslutsatser från ofullständiga data. Vi har illustrerat hur man använder ' Slumpmässig radering ”-metoden i PyTorch.