重现步骤
1将yolov5的kmodel放入k230的data数据
2使用yolo大作战里的视频流推理代码
3运行
期待结果和实际结果
期待的结果 将目标检测的框圈起来
实际看到的结果 the array is too big 报错"File "/sdcard/libs/AIBase.py", line 73, in run
File "/sdcard/libs/AIBase.py", line 59, in inference"
软硬件版本信息
nncase2.9.0 庐山派k230
错误日志
Traceback (most recent call last):
File "", line 32, in
File "/sdcard/libs/AIBase.py", line 73, in run
File "/sdcard/libs/AIBase.py", line 59, in inference
ValueError: array is too big
尝试解决过程
减小模型体积,用的yolov5n 仍然报一样的错误
补充材料
from libs.PipeLine import PipeLine, ScopedTiming
from libs.YOLO import YOLOv5
import os,sys,gc
import ulab.numpy as np
import image
if name=="main":
# 显示模式,默认"hdmi",可以选择"hdmi"和"lcd"
display_mode="hdmi"
rgb888p_size=[1280,720]
if display_mode=="hdmi":
display_size=[1920,1080]
else:
display_size=[800,480]
# 路径可以自行修改适配您自己的模型
kmodel_path="/data/best.kmodel"
labels = ["pingpong"]
confidence_threshold = 0.8
nms_threshold=0.45
model_input_size=[320,320]
# 初始化PipeLine
pl=PipeLine(rgb888p_size=rgb888p_size,display_size=display_size,display_mode=display_mode)
pl.create()
# 初始化YOLOv5实例
yolo=YOLOv5(task_type="detect",mode="video",kmodel_path=kmodel_path,labels=labels,rgb888p_size=rgb888p_size,model_input_size=model_input_size,display_size=display_size,conf_thresh=confidence_threshold,nms_thresh=nms_threshold,max_boxes_num=5,debug_mode=0)
yolo.config_preprocess()
try:
while True:
os.exitpoint()
with ScopedTiming("total",1):
# 逐帧推理
img=pl.get_frame()
res=yolo.run(img)
yolo.draw_result(res,pl.osd_img)
pl.show_image()
gc.collect()
except Exception as e:
sys.print_exception(e)
finally:
yolo.deinit()
pl.destroy()