yolov3模型使用教程转换遇到问题:
出错提示:
corrupted size vs. prev_size
使用过./INSTALL了,同时yoloface(即0)可以使用,可以正常显示图片感觉有可能是模型问题?
使用了官方的教程https://docs.khadas.com/zh-cn/vim3/HowToTransformYolo.html
BTW :文件修改部分最后修改size[3]是不是应该是(class_num+5)x3,同时官方的教程我觉得写得不够细,比如在哪里执行什么步骤写的不够清晰,需要自己推敲,比如关于如何训练YOLO模型我觉得可以不用提及,这种东西到处都是,反而是转换模型能写的清晰一点会好一点
名字命名为yolov3后,在app文件下转换时加入了yolov3.nb,同时也复制了一个yolov3_88.nb,也将.c及.h文件复制到位,使用的sdk文件夹名字为 linux_sdk_6.3.3.4
转换模型时截屏如下(图一)
新用户只能放一张图…我先描述一下看等下能不能放到回复里面
显示make:Nothing to be done for ‘all’
现在不知道问题出在哪里,请问一下能帮忙解决一下吗,时间有点紧。
BTW :1.如何从ctrl+alt+f1墨市里面呢切换回图形界面啊,现在我的解决办法是reboot…
2.我的摄像头好像也使用不了,使用的是gucee hd98,插入的时候显示的是
图二
cannot get freq at ep 0xx84
使用detect_demo显示:
图三
很多的CRITICAL
查看过官网显示此摄像头是uvc的,使用mipi时会发现只有fps却没有图像,只有fps一直在跳
我确定没有搞错/dev/videoX的编号,因为我对比了插入前与插入后的变化
感谢细致认真的看完我的问题,希望能帮助到我解决!问题有点多有点杂很抱歉,因为没能在社区里面找到相关的内容所以只能发贴了很抱歉!
Frank
June 5, 2020, 1:29am
5
模型没有问题,我们放出去的这个代码很多用户都在用,这个log看起来是你的图片的问题.切换目录的时候,如果你安装过之前其他目录的./INSTALL,建议重新安装,nb文件在不同文件夹里size是不一样的.
说明你的代码没有改变
ctrl + alt + f7
An9zh0u:
我的摄像头好像也使用不了,
好像? 你可以先确定你使用摄像头软件能不能打开你的摄像头,从你的图片上看log,是找不到摄像头. 另外,detect_demo_uvc是usb摄像头用的demo,mipi摄像头的demo是detect_demo_mipi.不要搞混了.
我们的mipi摄像头是不支持热插拔的.如果你值插了mipi摄像头,没有插入其他摄像头,/dev/video0就是mipi摄像头.
谢谢您的及时回复!
是这样的,
yoloface可以很好的使用,但是使用自己的yolov3模型会出corrupted size vs. prev_size这样的错误,每一次进detect_demo且进行预测前都会./INSTALL的,这个问题应该不是./INSTALL的问题。请问一下是什么会导致corrupted size vs. prev_size这个问题呢?
关于模型转换我的概念有一点模糊,比如我命名我的模型名字为yolov3,在运行
$ ./build_vx.sh $path/to/linux_sdk_dir $path/to/fenix
时是需要将yolov3.nb重命名为yolov3_88.nb并替换nn_data里的yolov3_88.nb吗?而不是直接复制过去就好。
Frank:
说明你的代码没有改变
指的是我这次执行vx.sh时之前执行过,所以就显示这个代码说我代码没有过改变?我记得之前执行的时候有warning,我稍晚些看看能不能重新做一遍看看是什么warning在放上来
谢谢您的及时回复!祝好。
Frank
June 5, 2020, 8:08am
7
这个是第一次见
要替换成88.nb,直接拿过去不行.另外,转换代码时这个nb文件不会用到,可以不用拿过去.这个nb文件生成以后,是在执行时加载的.
删除bin_r
目录重新编译,就会看到log了
您好,在尝试过许多方法后还是存在着这个问题,抱歉再次打扰,这里给出我使用的转换文件和输出,麻烦您能不能看出问题
0_import_model.sh
#!/bin/bash
NAME=yolov3
ACUITY_PATH=../bin/
convert_caffe=${ACUITY_PATH}convertcaffe
convert_tf=${ACUITY_PATH}convertensorflow
convert_tflite=${ACUITY_PATH}convertflite
convert_darknet=${ACUITY_PATH}convertdarknet
convert_onnx=${ACUITY_PATH}convertonnx
$convert_darknet \
--net-input yolov3-voc.cfg \
--weight-input yolov3-voc_26000.weights \
--net-output ${NAME}.json \
--data-output ${NAME}.data
1_quantize_model.sh
#!/bin/bash
NAME=yolov3
ACUITY_PATH=../bin/
tensorzone=${ACUITY_PATH}tensorzonex
#asymmetric_quantized-u8 dynamic_fixed_point-8 dynamic_fixed_point-16
$tensorzone \
--action quantization \
--source text \
--source-file ./data/validation_tf.txt \
--channel-mean-value '0 0 0 256' \
--model-input ${NAME}.json \
--model-data ${NAME}.data \
--quantized-dtype dynamic_fixed_point-8 \
--quantized-rebuild
$tensorzone \
--action inference \
--source text \
--source-file ./data/validation_tf.txt \
--channel-mean-value '0 0 0 256' \
--model-input ${NAME}.json \
--model-data ${NAME}.data \
--dtype quantized
其中,validation_tf.txt内容为
./000xx.jpg
即一张图片的地址
2_export_case_code.sh
#!/bin/bash
NAME=yolov3
ACUITY_PATH=../bin/
export_ovxlib=${ACUITY_PATH}ovxgenerator
$export_ovxlib \
--model-input ${NAME}.json \
--data-input ${NAME}.data \
--reorder-channel '2 1 0' \
--channel-mean-value '0 0 0 256' \
--export-dtype quantized \
--model-quantize ${NAME}.quantize \
--optimize VIPNANOQI_PID0X88 \
--viv-sdk ../bin/vcmdtools \
--pack-nbg-unify
rm *.h *.c .project .cproject *.vcxproj *.lib BUILD *.linux
mv nbg_unify nbg_unify_${NAME}
cd nbg_unify_${NAME}
mv network_binary.nb ${NAME}.nb
最后一个输出为
这样转换模型的输出及代码有问题吗?
Frank
June 6, 2020, 1:16am
10
@An9zh0u 从你的步骤上来看,没看出啥问题,你用的是6.3.3.4的SDK,你系统的驱动版本是多少,是否更新过,最新的驱动不适配这个版本的SDK
尝试过使用
sudo apt-get update
和sudo apt-get upgrade指令
请问这样系统启动是否是更新过的呢,不适合6.3.3.4吗?
有什么办法查看版本或者是解决这个问题呢
Frank
June 8, 2020, 1:21am
12
@An9zh0u 是的,最新的驱动需要新的SDK版本,请重新通过邮件申请新的SDK
谢谢@Frank的帮助,图片现在可以识别了,但是还有其他的问题
同样,在摄像头调用上还是有问题,我们可以确定摄像头是/dev/video1,型号为Logitech HD Webcam C310,同时摄像头在win10下可以正常调用。在使用detect_demo时报错如图
请问如何解决摄像头调用的呢?总共有三个问题,谢谢你的帮助!
No, this is recognized by the picture since I used detect_demo_picture. And I have difficulties with detect_demo which is used to recognize the live video.
ok, so static picture recognition from a picture ?
Frank
June 9, 2020, 1:09am
18
@An9zh0u 图片的显示是我们加上去的.如果你使用1920x1080的图片显示就是正常的 .你也可以修改源码做一个resize之类的处理
Frank
June 9, 2020, 1:10am
19
@An9zh0u 我们测试了我们的demo,USB摄像头是正常的.我们使用的也是罗技的摄像头.不清楚是不是不支持你这个摄像头