tf_regression.py
# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2024 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemplo de Regressão com TensorFlow Lite
#
# Este exemplo demonstra a execução de um modelo de regressão na OpenMV Cam.
# Um modelo de regressão recebe uma lista de números de entrada e produz uma
# lista de números de saída. Você pode passar arrays ndarray para predict()
# e receberá de volta uma lista com os resultados.
#
# Nota: A lista de números de entrada deve ter o mesmo tamanho que o
# tamanho do tensor de entrada do modelo.
import ml
from ulab import numpy as np
# O modelo é integrado na RT1062. Em outras OpenMV Cams com espaço de flash limitado, obtenha
# o modelo aqui: https://github.com/openmv/openmv/tree/master/src/lib/tflm/models e
# copie-o para o sistema de arquivos da OpenMV Cam. Ex.: model = ml.Model("force_int_quant.tflite")
model = ml.Model("/rom/force_int_quant.tflite")
print(model)
i = np.array([-3, -1, -2, 5, -2, 10, -1, 9, 0, # noqa
2, 0, 9, 1, 10, 2, -1, 3, 5, # noqa
3, 9, 3, 9, 6, 2, 6, 7, 5, # noqa
10, 6, -1, 7, 4, 7, 8, 5, 7], # noqa
dtype=np.int8).reshape(model.input_shape[0]) # noqa
print(model.predict([i])[0])
# Deve imprimir 53.78332