ml — Aprendizaje automático¶
El módulo ml contiene funcionalidad para cargar y ejecutar modelos de TensorFlow Lite en la OpenMV Cam. El módulo expone una única clase orientada al usuario, ml.Model, que envuelve la clase Model subyacente en C con comodidades adicionales del lado de Python (carga automática de etiquetas y conversión automática de imagen a tensor).
Submódulos¶
class Model – Contenedor del modelo¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Carga en memoria un modelo de TensorFlow Lite desde
pathy lo prepara para la inferencia.pathpuede ser un archivo en el sistema de archivos o el nombre de un modelo integrado en la imagen del firmware.postprocess es un invocable opcional de posprocesamiento llamado por
Model.predictdespués de la inferencia. Recibe(model, inputs, outputs)y puede devolver cualquier valor (por ejemplo, una lista de cuadros delimitadores). Cuando se proporciona, el posprocesador recibe los tensores de salida sin procesar del modelo (sin descuantizar) por rendimiento.Durante la construcción, el envoltorio además intenta cargar un archivo
.txtcon el mismo nombre base quepath; si lo encuentra, cada línea se carga enModel.labels. De lo contrario,Model.labelsesNone.- predict(inputs: list, *, callback: object = None) list¶
Ejecuta la inferencia en el modelo y devuelve los tensores de salida.
inputs es una lista con una entrada por cada tensor de entrada del modelo. Cada entrada puede ser:
Un
ndarraycuya forma coincide con la entrada correspondiente enModel.input_shape. Los valores se cuantizan usando la escala y el punto cero del tensor de entrada (las entradas float32 se pasan sin modificar).Un objeto
image.Image. El envoltorio lo envuelve automáticamente en un objetoml.preprocessing.Normalizationpara convertirlo en el tensor esperado.Un invocable. Se llamará con
(bytearray, shape, dtype)y se espera que rellene el bytearray con los datos del tensor de entrada.
callback es un invocable opcional de posprocesamiento por llamada. Cuando se proporciona, anula el
postprocessestablecido en el constructor solo para esta llamada. La función de retorno (callback) recibe(model, inputs, outputs)y su valor de retorno es devuelto porpredict.Devuelve una lista de salidas
ndarray, una por cada tensor de salida del modelo. Si no hay ningún posprocesador activo, las salidas se descuantizan afloat32; si hay un posprocesador activo, se le pasan en su lugar los tensores de salida sin procesar (usando el dtype nativo de cada tensor).
- input_dtype: list[str]¶
Una lista de cadenas de un solo carácter que da el dtype de cada tensor de entrada:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
Una lista de números de coma flotante que da la escala de cuantización de cada tensor de entrada.
- input_zero_point: list[int]¶
Una lista de enteros que da el punto cero de cuantización de cada tensor de entrada.
- output_dtype: list[str]¶
Una lista de cadenas de un solo carácter que da el dtype de cada tensor de salida:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
Una lista de números de coma flotante que da la escala de cuantización de cada tensor de salida.