Kako funkcionira metoda 'nasumičnog brisanja' u PyTorchu?

Kako Funkcionira Metoda Nasumicnog Brisanja U Pytorchu



Učinkovitost okvira PyTorch za razvoj složenih i najsuvremenijih modela strojnog učenja posljedica je širokog spektra značajki za proširenje i ' Nasumično brisanje ” metoda je jedna od njih. Kao što naziv sugerira, nasumično odabire sliku i uklanja dio podataka kako bi oponašao stvarnu situaciju u kojoj su prikazani nepotpuni podaci. To poboljšava sposobnost modela da se prilagodi i dobro funkcionira u novim i izazovnim situacijama.

Ovaj će blog raspravljati o tome kako ' Nasumično brisanje ” metoda radi u PyTorchu.

Zašto se metoda 'nasumičnog brisanja' koristi u PyTorchu?

Nasumično uklanjanje podataka sa slika predstavlja problem za obuku modela analize slike jer su prisiljeni prilagođavati se nedovoljno podataka. Ovo priprema model za zadatke iz stvarnog svijeta gdje potpuni podaci nisu uvijek prisutni. Model postaje daleko bolji u mogućnosti izvlačenja zaključaka iz svih vrsta podataka i upravljanja prikazom rezultata. Odabir piksela za uklanjanje je slučajan tako da nema uvođenja pristranosti, a rezultirajuća slika koristi se kao ulazni podatak tijekom obuke.







Kako funkcionira metoda 'nasumičnog brisanja' u PyTorchu?

Metoda nasumičnog brisanja koristi se kako bi model dubokog učenja bio bolje opremljen za rukovanje stvarnim aplikacijama. Slijedite dolje navedene korake da biste naučili kako ga koristiti u svojim PyTorch projektima kako biste povećali njihovo upravljanje podacima i poboljšali mogućnosti zaključivanja:



Korak 1: Postavite Collaboratory IDE

Google Colab idealan je izbor za razvoj AI modela pomoću okvira PyTorch. Idite do Suradnje web stranica i pokrenuti ' Nova bilježnica ”:







Korak 2: Uvezite potrebne biblioteke

Koristiti ' !pip ” program za instaliranje paketa koji pruža Python za instaliranje biblioteka i korištenje “ uvoz ” za njihov uvoz u projekt:

uvoz baklja

uvoz vid baklje. transformira kao ts

iz PIL uvoz Slika

uvoz matplotlib. pyplot kao plt

Opis danog koda je sljedeći:



  • Uvezi ' baklja ' biblioteka koja koristi ' uvoz ” naredba.
  • ' torchvision.preobražava ” paket sadrži transformacije za Nasumično brisanje.
  • PIL ” je python biblioteka slika i sadrži funkcionalnost za obradu slika.
  • ' matplotlib.pyplot ” biblioteka se koristi za vizualizaciju originalnih i transformiranih slika:

Korak 3: Učitajte ulaznu sliku

Prenesite sliku u odjeljak Datoteke:

Zatim učitajte ulaznu sliku koristeći ' otvoren() ” metoda modula „Slika”:

slika = Slika. otvoren ( 'a2.jpeg' )

Korak 4: Odredite transformaciju za izvođenje transformacija

Sada definirajte ' Nasumično brisanje ” transformator koji će transformirati sliku odabirom njezinog slučajnog pravokutnog područja i brisanjem njezinih piksela. Osim toga, pretvorite ulaznu sliku u senzor baklje pomoću ' ToTensor() ' ako se radi o PIL slici, a zatim je pretvorite natrag u PIL sliku putem ' ToPILIslika() ”:

transformirati = ts. Sastaviti ( [ ts. ToTensor ( ) , ts. Nasumično brisanje ( str = 0,5 , mjerilo = ( 0,02 , 0,33 ) , omjer = ( 0.3 , 3.3 ) , vrijednost = 0 , na mjestu = lažno ) , ts. ToPILIslika ( ) ] )

Parametri korišteni u gornjem ' Nasumično brisanje ” transformatora objašnjeni su u nastavku:

  • p: Predstavlja vjerojatnost da će se postići operacija slučajnog podizanja.
  • mjerilo: Označava raspon obrisanog područja ulazne slike.
  • omjer: Označava omjer širine i visine obrisanog područja.
  • vrijednost: Određuje vrijednost brisanja koja je prema zadanim postavkama '0'. Ako je riječ o jednom cijelom broju, tada uklanja sve piksele, a ako je riječ o torki koja ima tri cijela broja, uklanja R, G i B kanale.
  • na mjestu: To je 'booleova' vrijednost koja čini dani transformator za slučajno brisanje na mjestu. Prema zadanim postavkama, to je 'false'.

Korak 5: Upotrijebite razumijevanje rječnika za snimanje izlaznih slika

Upotrijebite koncept razumijevanja rječnika za snimanje četiri izlazne slike:

slike = [ transformirati ( slika ) za _ u domet ( 4 ) ]

Korak 6: Prikažite četiri izlazne slike

Na kraju, prikažite četiri izlazne slike uz pomoć dolje navedenog bloka koda:

smokva = plt. lik ( veličine smokve = ( 7 , 4 ) )

redaka , cols = 2 , 2

za j u domet ( 0 , samo ( slike ) ) :

smokva dodaj_podzaplet ( redaka , cols , j+ 1 )

plt. imshow ( slike [ j ] )

plt. štapići ( [ ] )

plt. yticks ( [ ] )

plt. pokazati ( )

Gornji opis koda je sljedeći:

  • Primijeni ' plt.figura() ” metoda za iscrtavanje četiri slike određene širine i visine.
  • Zatim navedite određene retke i stupce kako biste prilagodili četiri slike.
  • Nakon toga inicijalizirajte petlju 'for' koja primjenjuje ' podzaplet() ' metoda za definiranje podzapisa, metoda 'show()' za prikaz slika i ' plt.xticks() ' kao i ' plt.yticks() ” za postavljanje trenutne lokacije oznake i oznaka x i y-osi.
  • Na kraju, upotrijebite ' plt.show() ” za ispis slika za izlaz:

Bilješka : Korisnici mogu pristupiti našoj Colab bilježnici pomoću priloženog veza .

Stručni savjet

Jedna ključna upotreba ' Nasumično brisanje ” metoda u PyTorch projektima je sigurnost. Može se koristiti za uklanjanje piksela s osjetljivih slika poput onih koje sadrže neke poslovne tajne ili nešto drugo vrijedno. Specifična nasumična funkcija za ovo brisanje bila bi poznata samo izvornom korisniku i samo bi on mogao vratiti obrisane slike natrag na njihovu izvornu verziju.

Uspjeh! Pokazali smo kako metoda nasumičnog brisanja radi u PyTorchu.

Zaključak

' Nasumično brisanje ” metoda u PyTorchu radi tako što uklanja nasumične piksele sa slike i oponaša scenarij iz stvarnog svijeta kako bi se bolje uvježbao model. To će model učiniti vještijim u rukovanju različitim vrstama podataka kako bi se izvukli kvalitetni zaključci iz nepotpunih podataka. Ilustrirali smo kako koristiti ' Nasumično brisanje ” metoda u PyTorchu.