Viekää malli ONNX-muotoon
Suorittakaa mallia eri ajoympäristöissä
Viekää malli ONNX-muotoon 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.
Yksi malli, monta ajoympäristöä
Joskus mallinne on suoritettava ympäristössä, johon PyTorchia ei ole asennettu. ONNX on yhteinen formaatti, jonka ansiosta yksi malli voi toimia monissa suoritusmoottoreissa. 🌐
Mistä ONNX tulee
ONNX tulee sanoista Open Neural Network Exchange. Se on toimittajariippumaton tiedostomuoto, joka kuvaa mallinne standarditoimintojen muodostamana graafina.
Miksi tiimit pitävät ONNX:stä
ONNX:n avulla koulutatte mallin PyTorchilla mutta otatte sen käyttöön ONNX Runtime -ympäristössä, mobiililaitteessa tai selaimessa ilman, että mallia tarvitsee kirjoittaa uudelleen jokaiselle alustalle.
Vie yhdellä kutsulla
Viet mallin antamalla PyTorchille mallin ja esimerkkisyötteen. Viejä jäljittää suorituksen ja kirjoittaa siirrettävän graafin levylle.
import torch
torch.onnx.export(model, sample_input, 'model.onnx')Dummy-syöte muovaa graafin
Esimerkkitensorin muodon ja dtypen on vastattava todellista syötettä, koska viejä tallentaa datan käynnistämät operaatiot.
sample_input = torch.randn(1, 3, 224, 224)Nimeä syötteet ja tulosteet
Antakaa selkeät syötteiden ja tulosteiden nimet, jotta palvelukoodi voi yhdistää datan nimien perusteella sen sijaan, että se arvaisi sijainnit.
torch.onnx.export(model, x, 'm.onnx',
input_names=['image'], output_names=['logits'])Salli joustavat batch-koot
Oletusarvoisesti batch-koko on kiinteä. Merkitkää se dynaamiseksi akseliksi, jotta viety malli hyväksyy kerralla minkä tahansa määrän syötteitä.
dynamic_axes={'image': {0: 'batch'}}Tarkista vienti aina
Ladatkaa tiedosto onnx-kirjastolla ja suorittakaa sisäinen tarkistus varmistaaksenne graafin kelvollisuuden ennen sen käyttöönottoa. ✅
import onnx
onnx.checker.check_model(onnx.load('model.onnx'))Suorita ONNX Runtimella
ONNX Runtime on nopea moottori, joka suorittaa viedyn mallin CPU:lla tai GPU:lla, usein nopeammin kuin tavallinen Python-päättely.
import onnxruntime as ort
session = ort.InferenceSession('model.onnx')Varmista, että luvut täsmäävät
Suorittakaa sama syöte PyTorchilla ja ONNX Runtimella ja verratkaa tuloksia. Niiden pitäisi täsmätä hyvin, mikä osoittaa viennin säilyttäneen mallin toiminnan.
Huomioi opset-versio
Jokainen vienti kohdistuu opset-versioon, joka määrittää tuettujen operaatioiden joukon. Valitkaa versio, jonka kohdeympäristö ymmärtää, jotta vältätte virheet.
torch.onnx.export(model, x, 'm.onnx', opset_version=17)Pikatarkistus
Haluatte kiinteän batch-koon sijaan hyväksyä minkä tahansa koon. Mitä asetatte?
Kertaus: siirrettävä eri ajoympäristöihin
Veitte PyTorch-mallin ONNX-muotoon esimerkkisyötteen avulla, nimesitte akselit, validoitte mallin ja suorititte sen ONNX Runtimella missä tahansa. 🎉
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 ”Viekää malli ONNX-muotoon” ilmainen?
Kyllä – oppitunnin ”Viekää malli ONNX-muotoon” 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 ”Viekää malli ONNX-muotoon”?
Suorittakaa mallia eri ajoympäristöissä 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 ”Viekää malli ONNX-muotoon”-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
- TorchScript ja torch.compile
- Viekää malli ONNX-muotoon
- Kvantisaatio pienemmille ja nopeammille malleille
- Tarjotkaa malli FastAPI:lla