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