ml — Gépi tanulás¶
A ml modul a TensorFlow Lite modellek betöltéséhez és futtatásához nyújt funkcionalitást az OpenMV Cam eszközön. A modul egyetlen, a felhasználó számára elérhető osztályt tesz közzé, a ml.Model osztályt, amely az alapjául szolgáló C nyelvű Model osztályt csomagolja be további Python-oldali kényelmi funkciókkal (automatikus címkebetöltés és automatikus kép-tenzor konverzió).
Almodulok¶
class Model – Modell tároló¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Betölt egy TensorFlow Lite modellt a
pathútvonalról a memóriába, és előkészíti a következtetéshez. Apathlehet egy fájl a fájlrendszeren vagy egy, a firmware-képbe beépített modell neve.A postprocess egy opcionális utófeldolgozó hívható objektum, amelyet a
Model.predicthív meg a következtetés után. Megkapja a(model, inputs, outputs)értékeket, és bármilyen értéket visszaadhat (pl. határoló dobozok listáját). Ha meg van adva, az utófeldolgozó a teljesítmény érdekében a modell nyers (nem visszakvantált) kimeneti tenzorait kapja meg.A létrehozáskor a csomagoló ezenfelül megkísérli betölteni a
pathútvonallal megegyező alapnevű.txtfájlt; ha megtalálja, minden sort betölt aModel.labelsmezőbe. Ellenkező esetben aModel.labelsértékeNone.- predict(inputs: list, *, callback: object = None) list¶
Lefuttatja a következtetést a modellen, és visszaadja a kimeneti tenzorokat.
Az inputs egy lista, amely a modell minden bemeneti tenzorához egy-egy bejegyzést tartalmaz. Minden bejegyzés lehet:
Egy
ndarray, amelynek alakja megegyezik aModel.input_shapemegfelelő bejegyzésével. Az értékek a bemeneti tenzor skálájával és nullpontjával kerülnek kvantálásra (a float32 bemenetek változatlanul kerülnek átadásra).Egy
image.Imageobjektum. A csomagoló automatikusan becsomagolja egyml.preprocessing.Normalizationobjektumba, hogy átalakítsa az elvárt tenzorrá.Egy hívható objektum. Ez
(bytearray, shape, dtype)paraméterekkel kerül meghívásra, és a feladata, hogy feltöltse a bytearray-t a bemeneti tenzor adataival.
A callback egy opcionális, hívásonkénti utófeldolgozó hívható objektum. Ha meg van adva, csak az adott hívásra felülírja a konstruktorban beállított
postprocessértéket. A visszahívás megkapja a(model, inputs, outputs)értékeket, és a visszatérési értékét adja vissza apredict.Visszaad egy
ndarraykimenetekből álló listát, modell-kimeneti tenzoronként egyet. Ha nincs aktív utófeldolgozó, a kimenetekfloat32típusra kerülnek visszakvantálásra; ha van aktív utófeldolgozó, helyette a nyers kimeneti tenzorok (az egyes tenzorok natív dtype-jával) kerülnek átadásra annak.
- input_shape: list[tuple[int, ...]]¶
Egy tuple-ökből álló lista, amely megadja az egyes bemeneti tenzorok alakját.
- input_dtype: list[str]¶
Egyetlen karakteres karakterláncok listája, amely megadja az egyes bemeneti tenzorok dtype-ját:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
Egy float-okból álló lista, amely megadja az egyes bemeneti tenzorok kvantálási skáláját.
- input_zero_point: list[int]¶
Egy int-ekből álló lista, amely megadja az egyes bemeneti tenzorok kvantálási nullpontját.
- output_shape: list[tuple[int, ...]]¶
Egy tuple-ökből álló lista, amely megadja az egyes kimeneti tenzorok alakját.
- output_dtype: list[str]¶
Egyetlen karakteres karakterláncok listája, amely megadja az egyes kimeneti tenzorok dtype-ját:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
Egy float-okból álló lista, amely megadja az egyes kimeneti tenzorok kvantálási skáláját.