请教一下yolov4使用问题~~

@Frank 我发现问题了,我之前只是把vnn_yolov4.h和vnn_yolov4.c拷过去了,但上面那个类型是在vnn_global.h里面声明的,所以还得把这个文件也拷过去。 这样倒是能编译过去了,运行还是出问题:

init_fb…
1920x1080, 32bpp
W Detect_api:[det_set_log_level:19]Set log level=1
W Detect_api:[det_set_log_level:21]output_format not support Imperfect, default to DET_LOG_TERMINAL
W Detect_api:[det_set_log_level:26]Not exist VSI_NN_LOG_LEVEL, Setenv set_vsi_log_error_level
det_set_log_config Debug
Error: yolo_v4.c: model_create at 31
E Detect_api:[det_set_model:225]Model_create fail, file_path=nn_data, dev_type=1
det_set_model fail. ret=-4

跟最开始的问题是一样的

@cbtogu 不介意的话,把你的darknet的cfg和weights给我,我来试试,这样子我有点难判断,我这边可以试试看怎么处理

@Frank 上传到网盘了 已经私信给您了,真是麻烦您了!

@cbtogu 我下午就会测试,然后告诉你结果.正在下载

@Frank 您好,您那边测试情况怎样?有结果了吗?谢谢

@cbtogu 是存在一些问题,我这边正在看

@Frank 您好,麻烦问一下,测试还是没什么进展吗?问题不好解决?

@cbtogu 你好,是存在一些问题,我已经安排在下周了,这周的事情比较多.下周优先解决这个问题

@Frank 好的,麻烦了,我在等您这边的消息,有进展麻烦马上告诉我,谢谢

@cbtogu 有消息会第一时间反馈在这里, 下周会优先解决这个的

@cbtogu

链接: https://pan.baidu.com/s/1DDZKbcGyFl-Q33lZzunhXQ 提取码: nv26 复制这段内容后打开百度网盘手机App,操作更方便哦

打上这个补丁,然后再替换你自己转换的模型,替换的文件包括

include/vnn_post_process.h
include/vnn_pre_process.h
vnn_yolov4.h
vnn_post_process.c
vnn_pre_process.c
vnn_yolov4.c

可能还有一些其他问题,你可以先尝试看看

@Frank 好的,感谢,我明天试试。您这边测试过是可以的吗?

@cbtogu 是的,我这边测试可以,但是帧率下降了,我还没理清楚什么问题造成的,你可以测试看看你的模型是不是能正常跑起来了

@Frank 您好,按您说的方法:

  1. 先打补丁(补丁应该打成功了,检查了一下detect_yolo_v4目录下的makefile.linux,确实增加了libjpeg.a的链接库);
  2. 然后用上次转换后的代码(由于这次sdk没有变化,所以还是用上次我转换后得到的代码)替换了您说的那几个文件;
  3. 修改了yolov4_process.c中的coco_names等变量;
  4. 编译得到libnn_yolo_v4.so,并将它和转换后模型拷贝到vim3板子上运行。

最后运行还是出错,报错跟上面一样。

@cbtogu 上面的报的错很多,是哪一个报错,你确定你的板子驱动和库和SDK是对应的么,我这边昨天是试过的

@Frank 还是下面这个错误:

khadas@Khadas:~/npu/aml_npu_demo_binaries/detect_demo_picture$ ./detect_demo_fb 4 ./test.jpg
init_fb…
1920x1080, 32bpp
W Detect_api:[det_set_log_level:19]Set log level=1
W Detect_api:[det_set_log_level:21]output_format not support Imperfect, default to DET_LOG_TERMINAL
W Detect_api:[det_set_log_level:26]Not exist VSI_NN_LOG_LEVEL, Setenv set_vsi_log_error_level
det_set_log_config Debug
Error: yolo_v4.c: model_create at 31
E Detect_api:[det_set_model:225]Model_create fail, file_path=nn_data, dev_type=1
det_set_model fail. ret=-4

sdk是6.4.2.1版本,驱动和库是您上次发给我的,已经安装过了,另外也运行过官方的aml_npu_demo_binaries下的程序,是可以正常运行的。
不知道还有没有别的方法进行确认?

@cbtogu 你在app仓库diff一下,看一下你的修改

@Frank

diff detect_yolo_v4/yolov4_process.c detect_yolo_v4_orig/yolov4_pr
ocess.c
48,50c48
< static char *coco_names = {“light_watch”,“white_watch”,“num_watch”,“single_watch”,“double_watch”,“oil_watch”,
< “box_watch”,“need_num_watch”,“hard_watch”,“I_State”,“O_State”,“com_state”,“div_state”,
< “I_Energy”,“land_div”};

static char *coco_names = {“person”,“bicycle”,“car”,“motorbike”,“aeroplane”,“bus”,“train”,“truck”,“boat”,“traffic light”,“fire hydrant”,“stop sign”,“parking meter”,“bench”,“bird”,“cat”,“dog”,“horse”,“sheep”,“cow”,“elephant”,“bear”,“zebra”,“giraffe”,“backpack”,“umbrella”,“handbag”,“tie”,“suitcase”,“frisbee”,“skis”,“snowboard”,“sports ball”,“kite”,“baseball bat”,“baseball glove”,“skateboard”,“surfboard”,“tennis racket”,“bottle”,“wine glass”,“cup”,“fork”,“knife”,“spoon”,“bowl”,“banana”,“apple”,“sandwich”,“orange”,“broccoli”,“carrot”,“hot dog”,“pizza”,“donut”,“cake”,“chair”,“sofa”,“pottedplant”,“bed”,“diningtable”,“toilet”,“tvmonitor”,“laptop”,“mouse”,“remote”,“keyboard”,“cell phone”,“microwave”,“oven”,“toaster”,“sink”,“refrigerator”,“book”,“clock”,“vase”,“scissors”,“teddy bear”,“hair drier”,“toothbrush”};
236c234
< int num_class = 15;


int num_class = 80;

299c297
< int size[3]={nn_width/32, nn_height/32,20*3};

int size[3]={nn_width/32, nn_height/32,85*3};

305c303
< int num_class = 15;

int num_class = 80;

@cbtogu 你替换到板子上以后,应该有重新运行INSTALL把?

@Frank 抱歉,这一步没有做。。。运行INSTALL之后就能正常运行了,谢谢指正!