Alkioittaiset operaatiot ja reduktiot
Laskekaa summa, keskiarvo ja maksimi valituilla akseleilla
Alkioittaiset operaatiot ja reduktiot on ilmainen Deep Learning Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Deep Learning Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.
Kahdenlaisia operaatioita
Tensorilaskenta jakautuu kahteen ryhmään: alkiokohtaisiin operaatioihin, jotka säilyttävät muodon, ja reduktioihin, jotka supistavat sen pienemmäksi määräksi lukuja.
Alkiokohtainen operaatio säilyttää muodon
Alkiokohtainen operaatio suorittaa saman toiminnon jokaiseen alkioon toisista riippumatta. Syötteen muoto säilyy samana tuloksessa, eikä sijaintien välillä ole sekoittumista.
b = a * 2 + 1
# same shape as a, every element transformedPareittainen alkiokohtainen laskenta
Kun kahdella tensorilla on sama muoto, alkiokohtaiset operaatiot toimivat sijainti kerrallaan. Yhteenlasku yhdistää vastaavat indeksit, ja kertolasku toimii samoin.
c = a + b
d = a * bMyös matemaattiset funktiot ovat alkiokohtaisia
Funktiot kuten torch.relu, exp ja sqrt toimivat alkiokohtaisesti. Jokainen luku muunnetaan erikseen, ja tensori säilyttää alkuperäisen muotonsa.
r = torch.relu(x)
e = torch.exp(x)Reduktiot supistavat lukuja
Reduktio yhdistää monta arvoa pienemmäksi määräksi arvoja. Sum, mean ja max supistavat koko tensorin oletusarvoisesti yhdeksi skalaariksi.
total = x.sum()
avg = x.mean()dim-argumentti valitsee akselin
Välitä dim, kun haluat suorittaa reduktion vain yhtä akselia pitkin. Valittu akseli poistuu ja muut säilyvät, joten 2D-tensorista tulee 1D-tensori.
col_sums = x.sum(dim=0)
row_means = x.mean(dim=1)keepdim säilyttää muodon
Aseta keepdim=True, jos haluat säilyttää supistetun akselin kooltaan yhtenä. Säilytetty muoto saa myöhemmän broadcastauksen kohdistumaan siististi.
m = x.max(dim=1, keepdim=True).valuesMean tarvitsee liukulukuja
mean suorittaa jakolaskun, joten se odottaa liukulukusyötettä. Kun kutsut sitä kokonaislukutensorille, PyTorch ilmoittaa virheestä, kunnes muunnat tyypin ensin liukuluvuksi.
avg = x.float().mean()argmax löytää voittajan
Joskus tarvitset sijainnin etkä arvoa. argmax palauttaa suurimman alkion indeksin, jonka avulla luokitin valitsee ennustetun luokan.
pred = logits.argmax(dim=1)Ketjuta ne yhteen
Oikeassa koodissa käytetään molempia: alkiokohtainen muunnos syöttää tuloksen reduktiolle. Kun virheet korotetaan toiseen ja tuloksesta otetaan keskiarvo, saadaan keskineliövirhe.
mse = ((pred - target) ** 2).mean()Valitse muodon säilyttävä tai supistava operaatio
Nyrkkisääntö: käytä alkiokohtaista operaatiota, kun jokaisen arvon pitää muuttua omalla paikallaan, ja reduktiota, kun tarvitset yhteenvedon, kuten summan tai keskiarvon.
Pikatarkistus
Osaatko kertoa, mikä operaatio muuttaa tensorin muotoa?
Kertaus: muunna tai tiivistä
Alkiokohtaiset operaatiot säilyttävät muodon ja toimivat arvo kerrallaan; sum- ja mean-tyyppiset reduktiot supistavat sitä. dim ja keepdim määrittävät tarkasti, miten tämä tapahtuu. 🎯
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Alkioittaiset operaatiot ja reduktiot” ilmainen?
Kyllä – oppitunnin ”Alkioittaiset operaatiot ja reduktiot” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Deep Learning Academy-kurssin, päivitä CoddyKit PROhon. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Alkioittaiset operaatiot ja reduktiot”?
Laskekaa summa, keskiarvo ja maksimi valituilla akseleilla Harjoittelet Deep Learning Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Deep Learning Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Deep Learning Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Alkioittaiset operaatiot ja reduktiot”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Deep Learning Academy-oppitunnilla?
Kyllä. Jokainen Deep Learning Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Miksi silmukat ovat hitaita matematiikassa
- Alkioittaiset operaatiot ja reduktiot
- Matriisikertolasku matmulilla ja @-operaattorilla
- Pistetulot tuottavat jokaisen kerroksen voiman