tf_regression.py
# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2013-2024 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Esempio TensorFlow Lite Regression
#
# Questo esempio mostra l'esecuzione di un modello di regressione sulla OpenMV Cam.
# Un modello di regressione prende in ingresso una lista di numeri e produce
# una lista di numeri in uscita. Puoi passare array ndarray a predict()
# e otterrai indietro una lista dei risultati.
#
# Nota: la lista di numeri in ingresso deve avere le stesse dimensioni del
# tensore di input del modello.
import ml
from ulab import numpy as np
# Il modello è integrato nella RT1062. Su altre OpenMV Cam con spazio flash limitato, scarica
# il modello da qui: https://github.com/openmv/openmv/tree/master/src/lib/tflm/models e
# copialo nel file system della OpenMV Cam. Es. 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])
# Dovrebbe stampare 53.78332