dual_core_regression.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2026 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Пример регрессии ML на двух ядрах
#
# Этот пример запускает модель регрессии TensorFlow Lite на ядре HE и
# отправляет предсказание на ядро HP раз в секунду. Это освобождает ядро HP
# для другой работы (например, обработки изображения с камеры), пока вычисления происходят в
# фоновом режиме на энергоэффективном ядре.
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)