ml — Machine Learning¶
De ml-module bevat functionaliteit voor het laden en uitvoeren van TensorFlow Lite-modellen op de OpenMV Cam. De module biedt een enkele klasse voor gebruikers, ml.Model, die de onderliggende C-klasse Model omhult met extra gemakken aan de Python-zijde (automatisch laden van labels en automatische conversie van afbeelding naar tensor).
Submodules¶
class Model – Modelcontainer¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Laadt een TensorFlow Lite-model vanuit
pathin het geheugen en bereidt het voor op inferentie.pathkan een bestand op het bestandssysteem zijn of de naam van een model dat in de firmware-image is ingebouwd.postprocess is een optionele nabewerkingsfunctie die door
Model.predictwordt aangeroepen na de inferentie. Deze ontvangt(model, inputs, outputs)en kan een willekeurige waarde retourneren (bijv. een lijst met begrenzingsvakken). Indien opgegeven ontvangt de nabewerker de ruwe model-uitvoertensoren (niet-gedequantiseerd) omwille van de prestaties.Bij constructie probeert de wrapper bovendien een
.txt-bestand met dezelfde basisnaam alspathte laden; indien gevonden wordt elke regel ingeladen inModel.labels. Anders isModel.labelsgelijk aanNone.- predict(inputs: list, *, callback: object = None) list¶
Voert inferentie uit op het model en retourneert de uitvoertensoren.
inputs is een lijst met één item per model-invoertensor. Elk item kan zijn:
Een
ndarraywaarvan de vorm overeenkomt met het bijbehorende item inModel.input_shape. Waarden worden gequantiseerd met behulp van de schaal en het nulpunt van de invoertensor (float32-invoer wordt ongewijzigd doorgegeven).Een
image.Image-object. De wrapper omhult dit automatisch in eenml.preprocessing.Normalization-object om het te converteren naar de verwachte tensor.Een aanroepbaar object. Het wordt aangeroepen met
(bytearray, shape, dtype)en wordt geacht de bytearray te vullen met de invoertensorgegevens.
callback is een optionele nabewerkingsfunctie per aanroep. Indien opgegeven overschrijft deze de
postprocessdie op de constructor is ingesteld, maar alleen voor deze aanroep. De callback ontvangt(model, inputs, outputs)en de retourwaarde wordt geretourneerd doorpredict.Retourneert een lijst met
ndarray-uitvoer, één per model-uitvoertensor. Als er geen nabewerker actief is, worden de uitvoeren gedequantiseerd naarfloat32; als er wel een nabewerker actief is, worden in plaats daarvan de ruwe uitvoertensoren (met het eigen dtype van elke tensor) eraan doorgegeven.
- input_shape: list[tuple[int, ...]]¶
Een lijst met tuples die de vorm van elke invoertensor aangeven.
- input_dtype: list[str]¶
Een lijst met strings van één teken die het dtype van elke invoertensor aangeven:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
Een lijst met floats die de quantisatieschaal van elke invoertensor aangeven.
- input_zero_point: list[int]¶
Een lijst met ints die het quantisatienulpunt van elke invoertensor aangeven.
- output_shape: list[tuple[int, ...]]¶
Een lijst met tuples die de vorm van elke uitvoertensor aangeven.
- output_dtype: list[str]¶
Een lijst met strings van één teken die het dtype van elke uitvoertensor aangeven:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
Een lijst met floats die de quantisatieschaal van elke uitvoertensor aangeven.