ml — Strojno učenje¶
Modul ml sadrži funkcionalnost za učitavanje i pokretanje TensorFlow Lite modela na OpenMV Cam. Modul izlaže jednu klasu namijenjenu korisniku, ml.Model, koja omata temeljnu C klasu Model dodatnim pogodnostima na strani Pythona (automatsko učitavanje oznaka i automatska pretvorba slike u tenzor).
Podmoduli¶
klasa Model – Spremnik modela¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Učitava TensorFlow Lite model iz
pathu memoriju i priprema ga za zaključivanje.pathmože biti datoteka na datotečnom sustavu ili naziv modela ugrađenog u sliku ugrađenog programa (firmware).postprocess je opcionalni pozivljivi objekt za naknadnu obradu koji poziva
Model.predictnakon zaključivanja. Prima(model, inputs, outputs)i može vratiti bilo koju vrijednost (npr. popis graničnih okvira). Kada je naveden, naknadni obrađivač zbog performansi prima sirove izlazne tenzore modela (bez dekvantizacije).Pri stvaranju, omotač dodatno pokušava učitati
.txtdatoteku istog osnovnog naziva kaopath; ako je pronađena, svaki se redak učitava uModel.labels. U suprotnom jeModel.labelsjednakNone.- predict(inputs: list, *, callback: object = None) list¶
Pokreće zaključivanje na modelu i vraća izlazne tenzore.
inputs je popis s jednim unosom po ulaznom tenzoru modela. Svaki unos može biti:
Objekt
ndarrayčiji oblik odgovara odgovarajućem unosu uModel.input_shape. Vrijednosti se kvantiziraju pomoću skale i nulte točke ulaznog tenzora (float32 ulazi prosljeđuju se nepromijenjeni).Objekt
image.Image. Omotač ga automatski omata u objektml.preprocessing.Normalizationkako bi ga pretvorio u očekivani tenzor.Pozivljivi objekt. Bit će pozvan s
(bytearray, shape, dtype)i očekuje se da popuni bytearray podacima ulaznog tenzora.
callback je opcionalni pozivljivi objekt za naknadnu obradu po pozivu. Kada je naveden, nadjačava
postprocesspostavljen u konstruktoru samo za taj poziv. Povratni poziv prima(model, inputs, outputs)ipredictvraća njegovu povratnu vrijednost.Vraća popis
ndarrayizlaza, jedan po izlaznom tenzoru modela. Ako nije aktivan nijedan naknadni obrađivač, izlazi se dekvantiziraju ufloat32; ako je naknadni obrađivač aktivan, umjesto toga mu se prosljeđuju sirovi izlazni tenzori (koristeći nativni dtype svakog tenzora).
- input_dtype: list[str]¶
Popis jednoznakovnih nizova koji daju dtype svakog ulaznog tenzora:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
Popis float vrijednosti koje daju kvantizacijsku skalu svakog ulaznog tenzora.
- input_zero_point: list[int]¶
Popis cijelih brojeva koji daju kvantizacijsku nultu točku svakog ulaznog tenzora.
- output_dtype: list[str]¶
Popis jednoznakovnih nizova koji daju dtype svakog izlaznog tenzora:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
Popis float vrijednosti koje daju kvantizacijsku skalu svakog izlaznog tenzora.