dual_core_regression.py
# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2013-2026 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Beispiel für Dual-Core-ML-Regression
#
# Dieses Beispiel führt ein TensorFlow-Lite-Regressionsmodell auf dem HE-Kern aus und
# sendet die Vorhersage einmal pro Sekunde an den HP-Kern. Dies gibt dem HP-Kern die Möglichkeit,
# andere Aufgaben zu erledigen (z. B. Kameraverarbeitung), während die Inferenz im
# Hintergrund auf dem stromsparenden Kern läuft.
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)