Tässä blogissa keskustellaan siitä, kuinka ' Satunnainen poisto ” -menetelmä toimii PyTorchissa.
Miksi PyTorchissa käytetään satunnaista pyyhkäisymenetelmää?
Tietojen satunnainen poistaminen kuvista muodostaa ongelman kuva-analyysimallien koulutukselle, koska ne joutuvat mukautumaan riittämättömään dataan. Tämä valmistelee mallin tosielämän tehtäviin, joissa täydellistä dataa ei aina ole saatavilla. Mallista tulee paljon parempi kyky tehdä johtopäätöksiä kaikenlaisista tiedoista ja näyttää tuloksia. Poistettavien pikselien valinta on satunnainen, joten harhaa ei esiinny ja tuloksena olevaa kuvaa käytetään syöttötietona harjoituksen aikana.
Kuinka 'Satunnainen poisto' -menetelmä toimii PyTorchissa?
Random Erasing -menetelmää käytetään syväoppimismallin tekemiseen paremmin käsittelemään todellisia sovelluksia. Seuraa alla annettuja vaiheita oppiaksesi käyttämään sitä PyTorch-projekteissasi parantaaksesi niiden tiedonhallintaa ja parantaaksesi päättelykykyä:
Vaihe 1: Määritä Colaboratory IDE
Google Colab on ihanteellinen valinta tekoälymallien kehittämiseen PyTorch-kehyksen avulla. Siirry Colaboratorioon verkkosivusto ja käynnistä ' Uusi muistikirja ':
Vaihe 2: Tuo tarvittavat kirjastot
Käytä ' !pip Pythonin tarjoama paketin asennusohjelma kirjastojen asentamiseen ja ' tuonti '-komento tuoda ne projektiin:
tuonti taskulampputuonti soihtunäkö. muuntuu kuten ts
alkaen PIL tuonti Kuva
tuonti matplotlib. pyplot kuten plt
Annetun koodin kuvaus on seuraava:
- Tuo ' taskulamppu ' kirjasto käyttämällä ' tuonti ”komento.
- ' torchvision.transforms ”-paketti sisältää muunnokset Random Erasingille.
- ' PIL ” on python-kuvakirjasto ja se sisältää toiminnot kuvien käsittelyyn.
- ' matplotlib.pyplot ”-kirjastoa käytetään alkuperäisten ja muunnettujen kuvien visualisointiin:
Vaihe 3: Lataa syöttökuva
Lataa kuva Tiedostot-osioon:
Lataa seuraavaksi syöttökuva käyttämällä ' avata() ”Kuva-moduulin menetelmä:
kuva = Kuva. avata ( 'a2.jpeg' )Vaihe 4: Määritä muunnos suorittaaksesi muunnoksia
Määritä nyt ' RandomErasing ” muuntaja, joka muuttaa kuvan valitsemalla sen satunnaisen suorakaiteen muotoisen alueen ja pyyhkimällä sen pikselit. Lisäksi muunna tulokuva polttimen tunnistimeksi käyttämällä ' ToTensor() ' -menetelmää, jos se on PIL-kuva ja muuntaa sen sitten takaisin PIL-kuvaksi ' ToPILIkuva() ':
muuttaa = ts. Säveltää ( [ ts. ToTensor ( ) , ts. RandomErasing ( s = 0.5 , mittakaavassa = ( 0,02 , 0,33 ) , suhde = ( 0.3 , 3.3 ) , arvo = 0 , paikallaan = Väärä ) , ts. ToPILIkuva ( ) ] )Yllä käytetyt parametrit ' RandomErasing ”muuntaja selitetään alla:
- p: Se edustaa todennäköisyyttä, että satunnainen korotusoperaatio saavutetaan.
- mittakaava: Se ilmaisee syötekuvan poistetun alueen alueen.
- suhde: Se ilmaisee poistetun alueen kuvasuhdetta.
- arvo: Se määrittää poistoarvon, joka on oletuksena '0'. Jos se on yksi kokonaisluku, se poistaa kaikki pikselit, ja jos se on monikko, jossa on kolme kokonaislukua, se poistaa R-, G- ja B-kanavat vastaavasti.
- paikallaan: Se on 'boolen' arvo, joka asettaa annetun satunnaisen poistomuuntajan paikalleen. Oletuksena se on 'false'.
Vaihe 5: Käytä sanakirjan ymmärtämistä tulostekuvien ottamiseen
Ota neljä tulostekuvaa sanakirjan ymmärtämiskonseptilla:
kuvia = [ muuttaa ( kuva ) varten _ sisään alue ( 4 ) ]Vaihe 6: Esittele neljä lähtökuvaa
Lopuksi näytä neljä ulostulokuvaa alla olevan koodilohkon avulla:
kuva = plt. kuva ( viikunan kokoinen = ( 7 , 4 ) )rivit , sarakkeet = 2 , 2
varten j sisään alue ( 0 , vain ( kuvia ) ) :
kuva add_subplot ( rivit , sarakkeet , j+ 1 )
plt. imshow ( kuvia [ j ] )
plt. xticks ( [ ] )
plt. ticks ( [ ] )
plt. näytä ( )
Yllä oleva koodin kuvaus on seuraava:
- Käytä ' plt.figure() ”-menetelmä neljän tietyn leveyden ja korkeuden omaavien kuvien piirtämiseen.
- Määritä sitten tietyt rivit ja sarakkeet säätääksesi neljää kuvaa.
- Tämän jälkeen alusta 'for'-silmukka, joka käyttää ' sivujuoni() ' -menetelmää alikuvan määrittämiseen, 'show()' -menetelmää kuvien näyttämiseen ja ' plt.xticks() ' yhtä hyvin kuin ' plt.yticks() ” määrittääksesi nykyisen rastin sijainnin ja x- ja y-akselin nimikkeet.
- Käytä lopuksi ' plt.show() ' tapa tulostaa kuvat tulostettaviksi:
Huomautus : Käyttäjät voivat käyttää Colab-muistikirjaamme käyttämällä toimitettua linkki .
Pro-Tip
Yksi keskeinen käyttö ' Satunnainen poisto ” menetelmä PyTorch-projekteissa on tietoturva. Sitä voidaan käyttää pikselien poistamiseen arkaluontoisista kuvista, kuten liikesalaisuuksia tai jotain muuta arvokasta sisältävistä kuvista. Tämän poistamisen erityinen satunnainen toiminto olisi vain alkuperäisen käyttäjän tiedossa ja vain käyttäjä voisi palauttaa poistetut kuvat takaisin alkuperäiseen versioonsa.
Menestys! Olemme osoittaneet, kuinka satunnainen poistomenetelmä toimii PyTorchissa.
Johtopäätös
' Satunnainen poisto ” PyTorchin menetelmä toimii poistamalla satunnaisia pikseleitä kuvasta ja matkimalla todellista skenaariota mallin kouluttamiseksi paremmin. Tämä tekee mallista taitavamman käsittelemään erityyppisiä tietoja laatupäätelmien tekemiseksi epätäydellisistä tiedoista. Olemme havainnollistaneet kuinka käyttää ' Satunnainen poisto ”-menetelmä PyTorchissa.