ml — Aprendizado de Máquina¶
O módulo ml contém funcionalidades para carregar e executar modelos do TensorFlow Lite na OpenMV Cam. O módulo expõe uma única classe voltada ao usuário, ml.Model, que encapsula a classe C Model subjacente com facilidades adicionais no lado do Python (carregamento automático de rótulos e conversão automática de imagem para tensor).
Submódulos¶
classe Model – Contêiner de Modelo¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Carrega um modelo do TensorFlow Lite a partir de
pathpara a memória e o prepara para inferência.pathpode ser um arquivo no sistema de arquivos ou o nome de um modelo embutido na imagem de firmware.postprocess é uma função de pós-processamento opcional invocada por
Model.predictapós a inferência. Ela recebe(model, inputs, outputs)e pode retornar qualquer valor (por exemplo, uma lista de caixas delimitadoras). Quando fornecido, o pós-processador recebe os tensores de saída brutos do modelo (não des-quantizados) por questões de desempenho.Na construção, o wrapper também tenta carregar um arquivo
.txtcom o mesmo nome base quepath; se encontrado, cada linha é carregada emModel.labels. Caso contrário,Model.labelséNone.- predict(inputs: list, *, callback: object = None) list¶
Executa a inferência no modelo e retorna os tensores de saída.
inputs é uma lista com uma entrada por tensor de entrada do modelo. Cada entrada pode ser:
Um
ndarraycujo formato corresponde à entrada correspondente emModel.input_shape. Os valores são quantizados usando a escala e o zero point do tensor de entrada (entradas float32 são repassadas inalteradas).Um objeto
image.Image. O wrapper o encapsula automaticamente em um objetoml.preprocessing.Normalizationpara convertê-lo no tensor esperado.Uma função (callable). Ela será invocada com
(bytearray, shape, dtype)e espera-se que preencha o bytearray com os dados do tensor de entrada.
callback é uma função de pós-processamento opcional por chamada. Quando fornecida, ela substitui o
postprocessdefinido no construtor apenas para esta chamada. O callback recebe(model, inputs, outputs)e o seu valor de retorno é retornado porpredict.Retorna uma lista de saídas
ndarray, uma por tensor de saída do modelo. Se nenhum pós-processador estiver ativo, as saídas são des-quantizadas parafloat32; se um pós-processador estiver ativo, os tensores de saída brutos (usando o dtype nativo de cada tensor) são passados a ele.
- input_shape: list[tuple[int, ...]]¶
Uma lista de tuplas indicando o formato de cada tensor de entrada.
- input_dtype: list[str]¶
Uma lista de strings de um único caractere indicando o dtype de cada tensor de entrada:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
Uma lista de floats indicando a escala de quantização de cada tensor de entrada.
- input_zero_point: list[int]¶
Uma lista de inteiros indicando o zero point de quantização de cada tensor de entrada.
- output_shape: list[tuple[int, ...]]¶
Uma lista de tuplas indicando o formato de cada tensor de saída.
- output_dtype: list[str]¶
Uma lista de strings de um único caractere indicando o dtype de cada tensor de saída:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
Uma lista de floats indicando a escala de quantização de cada tensor de saída.