OpenMV神经网络连线调试报错:“ Failed to allocate tensors”?
-
import sensor, image, time, pyb, math, os, ml, uos, gc from pyb import UART from machine import LED from ulab import numpy as np # 初始化传感器(保持代码一的设置) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_windowing((240, 240)) # 适配FOMO模型输入 sensor.skip_frames(time=2000) clock = time.clock() led = LED("LED_BLUE") uart = UART(3, 115200) # 加载神经网络模型(来自代码一) net = None labels = None min_confidence = 0.5 try: net = ml.Model("trained.tflite", load_to_fb=uos.stat('trained.tflite')[6] > (gc.mem_free() - (64*1024))) except Exception as e: raise Exception('Failed to load model: ' + str(e)) try: labels = [line.rstrip('\n') for line in open("labels.txt")] except Exception as e: raise Exception('Failed to load labels: ' + str(e)) # 颜色映射(根据labels.txt顺序) colors = [ # Add more colors if you are detecting more than 7 types of classes at once. ( 0, 0, 0), (255, 255, 255), ( 0, 0, 255), (255, 0, 0), (255, 255, 0), ( 0, 255, 255), (255, 255, 255), ] threshold_list = [(math.ceil(min_confidence * 255), 255)] ###### 神经网络函数 ###### def fomo_post_process(model, inputs, outputs): ob, oh, ow, oc = model.output_shape[0] x_scale = inputs[0].roi[2] / ow y_scale = inputs[0].roi[3] / oh scale = min(x_scale, y_scale) x_offset = ((inputs[0].roi[2] - (ow * scale)) / 2) + inputs[0].roi[0] y_offset = ((inputs[0].roi[3] - (ow * scale)) / 2) + inputs[0].roi[1] l = [[] for i in range(oc)] for i in range(oc): img = image.Image(outputs[0][0, :, :, i] * 255) blobs = img.find_blobs( threshold_list, x_stride=1, y_stride=1, area_threshold=1, pixels_threshold=1 ) for b in blobs: rect = b.rect() x, y, w, h = rect score = ( img.get_statistics(thresholds=threshold_list, roi=rect).l_mean() / 255.0 ) x = int((x * scale) + x_offset) y = int((y * scale) + y_offset) w = int(w * scale) h = int(h * scale) l[i].append((x, y, w, h, score)) return l clock = time.clock()
Traceback (most recent call last):
File "", line 25, in
Exception: Failed to load model: Failed to allocate tensors
OpenMV v4.5.9; MicroPython v1.23.0-r19; OPENMV4P-STM32H743
Type "help()" for more information.
-
@oa3p
这是OpenMV内存里的文件
-
升级一下固件版本
-
@kidswong999 我的固件版本是最新的还是会报错唉
-
现在最新的版本是4.6.20