ml — Koneoppiminen

ml-moduuli sisältää toiminnallisuuden TensorFlow Lite -mallien lataamiseen ja suorittamiseen OpenMV Camilla. Moduuli tarjoaa yhden käyttäjälle näkyvän luokan, ml.Model, joka kapseloi taustalla olevan C-kielisen Model-luokan ja lisää siihen Python-puolen mukavuuksia (automaattinen luokkanimien lataus ja automaattinen kuvan muuntaminen tensoriksi).

Alimoduulit

luokka Model – mallisäiliö

class ml.Model(path: str, *, postprocess: object = None) Model

Lataa TensorFlow Lite -mallin polusta path muistiin ja valmistelee sen päättelyä varten. path voi olla tiedosto tiedostojärjestelmässä tai laiteohjelmiston kuvaan sisäänrakennetun mallin nimi.

postprocess on valinnainen jälkikäsittelyä suorittava kutsuttava, jonka Model.predict kutsuu päättelyn jälkeen. Se saa argumentit (model, inputs, outputs) ja voi palauttaa minkä tahansa arvon (esim. luettelon rajauslaatikoista). Kun se annetaan, jälkikäsittelijä saa suorituskykysyistä mallin raa’at ulostulotensorit (kvantisointia purkamatta).

Konstruktorissa kääre yrittää lisäksi ladata .txt-tiedoston, jolla on sama perusnimi kuin polulla path; jos sellainen löytyy, jokainen rivi ladataan kohteeseen Model.labels. Muutoin Model.labels on None.

predict(inputs: list, *, callback: object = None) list

Suorittaa mallilla päättelyn ja palauttaa ulostulotensorit.

inputs on luettelo, jossa on yksi alkio kutakin mallin syötetensoria kohti. Kukin alkio voi olla:

  • ndarray, jonka muoto vastaa kohteen Model.input_shape vastaavaa alkiota. Arvot kvantisoidaan syötetensorin skaalan ja nollapisteen avulla (float32-syötteet välitetään muuttumattomina).

  • image.Image-objekti. Kääre kietoo sen automaattisesti ml.preprocessing.Normalization-objektiin muuntaakseen sen odotetuksi tensoriksi.

  • Kutsuttava. Sitä kutsutaan argumenteilla (bytearray, shape, dtype), ja sen odotetaan täyttävän bytearray-puskurin syötetensorin tiedoilla.

callback on valinnainen kutsukohtainen jälkikäsittelyä suorittava kutsuttava. Kun se annetaan, se ohittaa konstruktorissa asetetun postprocess-arvon vain tämän kutsun ajaksi. Takaisinkutsu saa argumentit (model, inputs, outputs), ja sen paluuarvon palauttaa predict.

Palauttaa luettelon ndarray-ulostuloista, yhden kutakin mallin ulostulotensoria kohti. Jos jälkikäsittelijää ei ole aktiivisena, ulostulojen kvantisointi puretaan tyyppiin float32; jos jälkikäsittelijä on aktiivisena, sille välitetään sen sijaan raa’at ulostulotensorit (kunkin tensorin alkuperäisellä dtype-tyypillä).

len: int

Ladatun mallin koko tavuina.

ram: int

Mallin tensoriareenan käyttämän RAM-muistin määrä tavuina.

input_shape: list[tuple[int, ...]]

Luettelo monikoista, jotka kertovat kunkin syötetensorin muodon.

input_dtype: list[str]

Luettelo yksimerkkisistä merkkijonoista, jotka kertovat kunkin syötetensorin dtype-tyypin: 'b' (int8), 'B' (uint8), 'h' (int16), 'H' (uint16), 'f' (float32).

input_scale: list[float]

Luettelo liukuluvuista, jotka kertovat kunkin syötetensorin kvantisointiskaalan.

input_zero_point: list[int]

Luettelo kokonaisluvuista, jotka kertovat kunkin syötetensorin kvantisoinnin nollapisteen.

output_shape: list[tuple[int, ...]]

Luettelo monikoista, jotka kertovat kunkin ulostulotensorin muodon.

output_dtype: list[str]

Luettelo yksimerkkisistä merkkijonoista, jotka kertovat kunkin ulostulotensorin dtype-tyypin: 'b' (int8), 'B' (uint8), 'h' (int16), 'H' (uint16), 'f' (float32).

output_scale: list[float]

Luettelo liukuluvuista, jotka kertovat kunkin ulostulotensorin kvantisointiskaalan.

output_zero_point: list[int]

Luettelo kokonaisluvuista, jotka kertovat kunkin ulostulotensorin kvantisoinnin nollapisteen.

postprocess: object

Konstruktorille annettu jälkikäsittelyä suorittava kutsuttava, tai None.

labels: list[str]

Luettelo luokkanimien merkkijonoista, jotka on ladattu mallin vierestä löytyvästä .txt-tiedostosta, tai None, jos sellaista tiedostoa ei ole.