ml — Învățare automată¶
Modulul ml conține funcționalități pentru încărcarea și rularea modelelor TensorFlow Lite pe OpenMV Cam. Modulul expune o singură clasă destinată utilizatorului, ml.Model, care încapsulează clasa C Model subiacentă cu facilități suplimentare pe partea Python (încărcarea automată a etichetelor și conversia automată din imagine în tensor).
Submodule¶
class Model – Container de model¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Încarcă în memorie un model TensorFlow Lite din
pathși îl pregătește pentru inferență.pathpoate fi un fișier din sistemul de fișiere sau numele unui model integrat în imaginea de firmware.postprocess este o funcție opțională de post-procesare apelată de
Model.predictdupă inferență. Aceasta primește(model, inputs, outputs)și poate returna orice valoare (de exemplu, o listă de casete de încadrare). Când este furnizată, post-procesorul primește tensorii bruți de ieșire ai modelului (nedequantizați) pentru performanță.La construcție, învelișul încearcă suplimentar să încarce un fișier
.txtcu același nume de bază capath; dacă este găsit, fiecare linie este încărcată înModel.labels. În caz contrar,Model.labelsesteNone.- predict(inputs: list, *, callback: object = None) list¶
Rulează inferența pe model și returnează tensorii de ieșire.
inputs este o listă cu o intrare pentru fiecare tensor de intrare al modelului. Fiecare intrare poate fi:
Un
ndarraya cărui formă corespunde intrării respective dinModel.input_shape. Valorile sunt quantizate folosind scala și punctul zero ale tensorului de intrare (intrările float32 sunt transmise nemodificate).Un obiect
image.Image. Învelișul îl încapsulează automat într-un obiectml.preprocessing.Normalizationpentru a-l converti în tensorul așteptat.O funcție apelabilă. Va fi apelată cu
(bytearray, shape, dtype)și se așteaptă să umple bytearray-ul cu datele tensorului de intrare.
callback este o funcție opțională de post-procesare per apel. Când este furnizată, suprascrie
postprocesssetat la constructor doar pentru acest apel. Funcția de retroapelare primește(model, inputs, outputs)și valoarea sa de retur este returnată depredict.Returnează o listă de ieșiri
ndarray, câte una pentru fiecare tensor de ieșire al modelului. Dacă niciun post-procesor nu este activ, ieșirile sunt dequantizate lafloat32; dacă un post-procesor este activ, tensorii bruți de ieșire (folosind tipul de date nativ al fiecărui tensor) îi sunt transmiși în schimb.
- input_shape: list[tuple[int, ...]]¶
O listă de tupluri care indică forma fiecărui tensor de intrare.
- input_dtype: list[str]¶
O listă de șiruri de un singur caracter care indică tipul de date al fiecărui tensor de intrare:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
O listă de numere în virgulă mobilă care indică scala de quantizare a fiecărui tensor de intrare.
- input_zero_point: list[int]¶
O listă de numere întregi care indică punctul zero de quantizare al fiecărui tensor de intrare.
- output_shape: list[tuple[int, ...]]¶
O listă de tupluri care indică forma fiecărui tensor de ieșire.
- output_dtype: list[str]¶
O listă de șiruri de un singur caracter care indică tipul de date al fiecărui tensor de ieșire:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
O listă de numere în virgulă mobilă care indică scala de quantizare a fiecărui tensor de ieșire.