Kuinka 'Satunnainen poisto' -menetelmä toimii PyTorchissa?

Kuinka Satunnainen Poisto Menetelma Toimii Pytorchissa



PyTorch-kehyksen tehokkuus monimutkaisten ja huippuluokan koneoppimismallien kehittämisessä johtuu sen laajasta lisäominaisuuksien valikoimasta ja ' Satunnainen poisto ”menetelmä on yksi niistä. Kuten nimestä voi päätellä, se valitsee satunnaisesti kuvan ja poistaa osan sen tiedoista jäljitelläkseen todellista tilannetta, jossa esitetään epätäydellisiä tietoja. Tämä parantaa mallin kykyä sopeutua ja toimia hyvin uusissa ja haastavissa tilanteissa.

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 taskulamppu

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