dual_core_regression.py
# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2026 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemplo de Regressão ML Dual-Core
#
# Este exemplo executa um modelo de regressão TensorFlow Lite no núcleo HE e
# envia a previsão para o núcleo HP uma vez por segundo. Isso libera o núcleo HP
# para fazer outras tarefas (por exemplo, processamento de câmera) enquanto as inferências acontecem no
# segundo plano no núcleo de baixo consumo.
import time
import openamp
def task_callback(src_addr, data):
print("Prediction:", data.decode())
@openamp.async_remote(task_callback)
async def task1(ept):
import ml
import asyncio
from ulab import numpy as np
model = ml.Model("/rom/force_int_quant.tflite")
i = np.array([-3, -1, -2, 5, -2, 10, -1, 9, 0, 2, 0, 9, # noqa
1, 10, 2, -1, 3, 5, 3, 9, 3, 9, 6, 2, # noqa
6, 7, 5, 10, 6, -1, 7, 4, 7, 8, 5, 7], # noqa
dtype=np.int8).reshape(model.input_shape[0]) # noqa
while True:
ept.send(str(model.predict([i])[0]))
await asyncio.sleep(1)
rproc = openamp.RemoteProc(0x80320000)
rproc.start()
while True:
time.sleep(1)