ml — Maskininlärning¶
Modulen ml innehåller funktionalitet för att ladda och köra TensorFlow Lite-modeller på OpenMV Cam. Modulen exponerar en enda klass riktad mot användaren, ml.Model, som omsluter den underliggande C-klassen Model med ytterligare bekvämligheter på Python-sidan (automatisk inläsning av etiketter och automatisk konvertering från bild till tensor).
Undermoduler¶
class Model – Modellbehållare¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Laddar en TensorFlow Lite-modell från
pathtill minnet och förbereder den för inferens.pathkan vara en fil i filsystemet eller namnet på en modell som är inbyggd i firmware-avbildningen.postprocess är ett valfritt efterbehandlingsanrop som anropas av
Model.predictefter inferens. Det tar emot(model, inputs, outputs)och kan returnera vilket värde som helst (t.ex. en lista med begränsningsrutor). När det anges får efterbehandlaren modellens råa utdatatensorer (icke-dekvantiserade) för bättre prestanda.Vid konstruktion försöker omslutaren dessutom ladda en
.txt-fil med samma basnamn sompath; om den hittas läses varje rad in iModel.labels. Annars ärModel.labelsNone.- predict(inputs: list, *, callback: object = None) list¶
Kör inferens på modellen och returnerar utdatatensorerna.
inputs är en lista med en post per indatatensor i modellen. Varje post kan vara:
En
ndarrayvars form matchar motsvarande post iModel.input_shape. Värdena kvantiseras med indatatensorens skala och nollpunkt (float32-indata vidarebefordras oförändrade).Ett
image.Image-objekt. Omslutaren slår automatiskt in det i ettml.preprocessing.Normalization-objekt för att konvertera det till den förväntade tensorn.Ett anropsbart objekt. Det anropas med
(bytearray, shape, dtype)och förväntas fylla bytearray med indatatensorens data.
callback är ett valfritt efterbehandlingsanrop per anrop. När det anges åsidosätter det det
postprocesssom angavs i konstruktorn endast för detta anrop. Återanropet tar emot(model, inputs, outputs)och dess returvärde returneras avpredict.Returnerar en lista med
ndarray-utdata, en per utdatatensor i modellen. Om ingen efterbehandlare är aktiv dekvantiseras utdata tillfloat32; om en efterbehandlare är aktiv skickas de råa utdatatensorerna (med varje tensors ursprungliga dtype) till den i stället.
- input_dtype: list[str]¶
En lista med strängar på ett tecken som anger varje indatatensors dtype:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
En lista med flyttal som anger kvantiseringsskalan för varje indatatensor.
- input_zero_point: list[int]¶
En lista med heltal som anger kvantiseringens nollpunkt för varje indatatensor.
- output_dtype: list[str]¶
En lista med strängar på ett tecken som anger varje utdatatensors dtype:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
En lista med flyttal som anger kvantiseringsskalan för varje utdatatensor.