tf_regression.py
# Esta obra está licenciada bajo la licencia MIT.
# Copyright (c) 2013-2024 OpenMV LLC. Todos los derechos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Ejemplo de regresión con TensorFlow Lite
#
# Este ejemplo muestra cómo ejecutar un modelo de regresión en la OpenMV Cam.
# Un modelo de regresión toma una lista de números de entrada y produce una
# lista de números de salida. Puedes pasar arreglos ndarray a predict()
# y obtendrás de vuelta una lista de los resultados.
#
# Nota: La lista de números de entrada debe tener el mismo tamaño que el
# tamaño del tensor de entrada del modelo.
import ml
from ulab import numpy as np
# El modelo viene integrado en la RT1062. En otras OpenMV Cam con espacio flash limitado, obtén
# el modelo aquí: https://github.com/openmv/openmv/tree/master/src/lib/tflm/models y
# cópialo al sistema de archivos de la OpenMV Cam. P. ej. 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])
# Debería imprimir 53.78332