Yolov3输出结果数值大于0

@ThinkBird 有点奇怪,无论官方的还是自己训练的,我们都有转换过,而且转换过不知一次。从log上面看不出有什么异样的地方,这个输入和输出没有啥问题

@ThinkBird 或者先不要管那个输出结果,你先吧转换完的放进demo源码里面编译替换试试,看看效果是什么样的

@khs971 I didn’t see that there was a problem with the log information. Everything seemed normal. There was no problem with the output node. Maybe you can first replace this result with the demo source code and compile it to see what the result looks like ? Sorry that I don’t see where the reason is.

这样编译的结果输出,就是"结果数值大于0",试过无数次了。
另外在执行文件:./2_export_case_code_yolov3.sh 文件时,输出结果有2处异常:
异常1(图片上的黄色部分):


异常2(输出的TOP5都是0,序号均是-1):
image

其完整输出如下:

xin@DESKTOP-GV1O2QJ:conversion_scripts$ ./2_export_case_code_yolov3.sh
I Load net in yolov3.json
D Load layer input_0 ...
D Load layer convolution_1 ...
D Load layer leakyrelu_3 ...
D Load layer convolution_4 ...
(...此处省去部分类似内容...)
D Load layer leakyrelu_246 ...
D Load layer convolution_247 ...
D Load layer leakyrelu_249 ...
D Load layer convolution_250 ...
D Load layer output_251 ...
I Load yolov3.json complete.
I Load data in yolov3.data
I Load quantization tensor table yolov3.quantize
2020-03-04 17:31:17.787827: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
D Process input_0 ...
D Acuity output shape(input): (1 608 608 3)
D Process convolution_1 ...
D Acuity output shape(convolution): (1 608 608 32)
D Process leakyrelu_3 ...
D Acuity output shape(leakyrelu): (1 608 608 32)
(...此处省去部分类似内容...)
D Process convolution_250 ...
D Acuity output shape(convolution): (1 76 76 255)
D Process output_251 ...
D Acuity output shape(output): (1 76 76 255)
I Build yolov3 complete.
I Config File "VIPNANOQI_PID0X88" is missing. Try to find another path...
I Config File "/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/../bin/VIPNANOQI_PID0X88" found successfully
I Initialzing network optimizer by /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/../bin/VIPNANOQI_PID0X88 ...
D Optimizing network with avgpool_to_conv, multiply_transform, add_extra_io, format_input_ops, auto_fill_zero_bias, conv_kernel_transform, twod_op_transform, conv_1xn_transform, strip_op, extend_add_to_conv2d, extend_fc_to_conv2d, extend_unstack_split, extend_batchnormalize, swapper, merge_layer, transform_layer, proposal_opt, broadcast_op, strip_op, auto_fill_reshape_zero, adjust_output_attrs
W extend add_13 to add will cause accuracy loss, do not extend.
W extend add_23 to add will cause accuracy loss, do not extend.
W extend add_30 to add will cause accuracy loss, do not extend.
W extend add_40 to add will cause accuracy loss, do not extend.
W extend add_47 to add will cause accuracy loss, do not extend.
W extend add_54 to add will cause accuracy loss, do not extend.
W extend add_61 to add will cause accuracy loss, do not extend.
W extend add_68 to add will cause accuracy loss, do not extend.
W extend add_75 to add will cause accuracy loss, do not extend.
W extend add_82 to add will cause accuracy loss, do not extend.
W extend add_89 to add will cause accuracy loss, do not extend.
W extend add_99 to add will cause accuracy loss, do not extend.
W extend add_106 to add will cause accuracy loss, do not extend.
W extend add_113 to add will cause accuracy loss, do not extend.
W extend add_120 to add will cause accuracy loss, do not extend.
W extend add_127 to add will cause accuracy loss, do not extend.
W extend add_134 to add will cause accuracy loss, do not extend.
W extend add_141 to add will cause accuracy loss, do not extend.
W extend add_148 to add will cause accuracy loss, do not extend.
W extend add_158 to add will cause accuracy loss, do not extend.
W extend add_165 to add will cause accuracy loss, do not extend.
W extend add_172 to add will cause accuracy loss, do not extend.
W extend add_179 to add will cause accuracy loss, do not extend.
D Optimizing network with c2drv_convert_axis, c2drv_convert_shape, c2drv_convert_array, c2drv_cast_dtype
I Building data ...
../bin/vcmdtools
../bin/vcmdtools/lib
I Packing data ...
D Packing convolution_1 ...
D Quantize @convolution_1:bias to asymmetric_quantized.
D Quantize @convolution_1:weight to asymmetric_quantized.
D Packing convolution_10 ...
D Quantize @convolution_10:bias to asymmetric_quantized.
D Quantize @convolution_10:weight to asymmetric_quantized.
D Packing convolution_100 ...
D Quantize @convolution_100:bias to asymmetric_quantized.
D Quantize @convolution_100:weight to asymmetric_quantized.
(...此处省去部分类似内容...)
D Packing convolution_93 ...
D Quantize @convolution_93:bias to asymmetric_quantized.
D Quantize @convolution_93:weight to asymmetric_quantized.
D Packing convolution_96 ...
D Quantize @convolution_96:bias to asymmetric_quantized.
D Quantize @convolution_96:weight to asymmetric_quantized.
I Saving data to yolov3.export.data
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_yolov3.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_yolov3.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_post_process.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_post_process.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_pre_process.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_pre_process.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/vnn_global.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/main.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/BUILD
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/yolov3.vcxproj
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/makefile.linux
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/.cproject
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/.project
D Generate fake input /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/input_0.tensor
gcc -Wall -std=c++0x -I. -I../bin/vcmdtools/include/ -I../bin/vcmdtools/include/CL -I../bin/vcmdtools/include/VX -I../bin/vcmdtools/include/ovxlib -D__linux__ -DLINUX -O3 -c vnn_pre_process.c
cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C
gcc -Wall -std=c++0x -I. -I../bin/vcmdtools/include/ -I../bin/vcmdtools/include/CL -I../bin/vcmdtools/include/VX -I../bin/vcmdtools/include/ovxlib -D__linux__ -DLINUX -O3 -c vnn_post_process.c
cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C
gcc -Wall -std=c++0x -I. -I../bin/vcmdtools/include/ -I../bin/vcmdtools/include/CL -I../bin/vcmdtools/include/VX -I../bin/vcmdtools/include/ovxlib -D__linux__ -DLINUX -O3 -c vnn_yolov3.c
cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C
gcc -Wall -std=c++0x -I. -I../bin/vcmdtools/include/ -I../bin/vcmdtools/include/CL -I../bin/vcmdtools/include/VX -I../bin/vcmdtools/include/ovxlib -D__linux__ -DLINUX -O3 -c main.c
cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C
gcc -Wall -std=c++0x -I. -I../bin/vcmdtools/include/ -I../bin/vcmdtools/include/CL -I../bin/vcmdtools/include/VX -I../bin/vcmdtools/include/ovxlib -D__linux__ -DLINUX -O3 -O3  vnn_pre_process.o vnn_post_process.o vnn_yolov3.o main.o -L../bin/vcmdtools/lib -lOpenVX -lOpenVXU -lCLC -lVSC -lGAL -lLLVM_viv -lovxlib -lEmulator -lvdtproxy -L../bin/vcmdtools/lib/x64_linux -lOpenVX -lOpenVXU -lCLC -lVSC -lGAL -lLLVM_viv -lovxlib -lEmulator -lvdtproxy ../bin/vcmdtools/lib/libjpeg.a -o gen_nbg
I [load_data:120]Read 864 data.
I [load_data:120]Read 128 data.
I [load_data:120]Read 18432 data.
I [load_data:120]Read 256 data.
I [load_data:120]Read 2048 data.
(...此处省去部分类似内容...)
I [load_data:120]Read 32768 data.
I [load_data:120]Read 512 data.
I [load_data:120]Read 294912 data.
I [load_data:120]Read 1024 data.
I [load_data:120]Read 65280 data.
I [load_data:120]Read 1020 data.
D [setup_node:367]Setup node id[0] uid[1] op[CONV2D]
D [print_tensor:129]in : id[   0] shape[ 608, 608, 3, 1   ] fmt[u8 ] qnt[ASM zp=  0, scale=0.003906]
D [print_tensor:129]in : id[   4] shape[ 3, 3, 3, 32      ] fmt[u8 ] qnt[ASM zp=118, scale=0.176279]
D [print_tensor:129]in : id[   5] shape[ 32               ] fmt[i32] qnt[ASM zp=  0, scale=0.000689]
D [print_tensor:129]out: id[ 154] shape[ 608, 608, 32, 1  ] fmt[u8 ] qnt[ASM zp=108, scale=0.211673]
D [setup_node:367]Setup node id[1] uid[3] op[LEAKY_RELU]
D [print_tensor:129]in : id[ 154] shape[ 608, 608, 32, 1  ] fmt[u8 ] qnt[ASM zp=108, scale=0.211673]
D [print_tensor:129]out: id[ 155] shape[ 608, 608, 32, 1  ] fmt[u8 ] qnt[ASM zp= 18, scale=0.130709]
(...此处省去部分类似内容...)
D [setup_node:367]Setup node id[172] uid[249] op[LEAKY_RELU]
D [print_tensor:129]in : id[ 323] shape[ 76, 76, 256, 1   ] fmt[u8 ] qnt[ASM zp=103, scale=0.114811]
D [print_tensor:129]out: id[ 324] shape[ 76, 76, 256, 1   ] fmt[u8 ] qnt[ASM zp= 16, scale=0.073165]
D [setup_node:367]Setup node id[173] uid[250] op[CONV2D]
D [print_tensor:129]in : id[ 324] shape[ 76, 76, 256, 1   ] fmt[u8 ] qnt[ASM zp= 16, scale=0.073165]
D [print_tensor:129]in : id[ 152] shape[ 1, 1, 256, 255   ] fmt[u8 ] qnt[ASM zp=168, scale=0.006859]
D [print_tensor:129]in : id[ 153] shape[ 255              ] fmt[i32] qnt[ASM zp=  0, scale=0.000502]
D [print_tensor:129]out: id[   3] shape[ 76, 76, 255, 1   ] fmt[u8 ] qnt[ASM zp=186, scale=0.224773]
D [optimize_node:311]Backward optimize neural network
D [op_optimize:399]Optimize CONCAT, uid 231
D [op_optimize:399]Optimize CONCAT, uid 205
D [optimize_node:318]Forward optimize neural network
I [compute_node:260]Create vx node
Create Neural Network: 1619ms or 1619890us
I [vsi_nn_PrintGraph:1308]Graph:
I [vsi_nn_PrintGraph:1309]***************** Tensors ******************
D [print_tensor:137]id[   0] shape[ 608, 608, 3, 1   ] fmt[u8 ] qnt[ASM zp=  0, scale=0.003906]
D [print_tensor:137]id[   1] shape[ 19, 19, 255, 1   ] fmt[u8 ] qnt[ASM zp=202, scale=0.197339]
D [print_tensor:137]id[   2] shape[ 38, 38, 255, 1   ] fmt[u8 ] qnt[ASM zp=199, scale=0.190504]
(...此处省去部分类似内容...)
D [print_tensor:137]id[ 320] shape[ 76, 76, 256, 1   ] fmt[u8 ] qnt[ASM zp= 25, scale=0.048986]
D [print_tensor:137]id[ 321] shape[ 76, 76, 128, 1   ] fmt[u8 ] qnt[ASM zp=127, scale=0.086415]
D [print_tensor:137]id[ 322] shape[ 76, 76, 128, 1   ] fmt[u8 ] qnt[ASM zp= 23, scale=0.047735]
D [print_tensor:137]id[ 323] shape[ 76, 76, 256, 1   ] fmt[u8 ] qnt[ASM zp=103, scale=0.114811]
D [print_tensor:137]id[ 324] shape[ 76, 76, 256, 1   ] fmt[u8 ] qnt[ASM zp= 16, scale=0.073165]
I [vsi_nn_PrintGraph:1318]***************** Nodes ******************
I [vsi_nn_PrintNode:156](          CONV2D)node[0] [in: 0, 4, 5 ], [out: 154 ] [dff92a50]
I [vsi_nn_PrintNode:156](      LEAKY_RELU)node[1] [in: 154 ], [out: 155 ] [dff93af0]
I [vsi_nn_PrintNode:156](          CONV2D)node[2] [in: 155, 6, 7 ], [out: 156 ] [dff966b0]
I [vsi_nn_PrintNode:156](      LEAKY_RELU)node[3] [in: 156 ], [out: 157 ] [dff977a0]
I [vsi_nn_PrintNode:156](          CONV2D)node[4] [in: 157, 8, 9 ], [out: 158 ] [dff9a360]
(...此处省去部分类似内容...)
I [vsi_nn_PrintNode:156](          CONV2D)node[169] [in: 320, 148, 149 ], [out: 321 ] [e00c6c10]
I [vsi_nn_PrintNode:156](      LEAKY_RELU)node[170] [in: 321 ], [out: 322 ] [e00c7d00]
I [vsi_nn_PrintNode:156](          CONV2D)node[171] [in: 322, 150, 151 ], [out: 323 ] [e00ca8c0]
I [vsi_nn_PrintNode:156](      LEAKY_RELU)node[172] [in: 323 ], [out: 324 ] [e00cb9b0]
I [vsi_nn_PrintNode:156](          CONV2D)node[173] [in: 324, 152, 153 ], [out: 3 ] [e00ce1b0]
I [vsi_nn_PrintGraph:1327]******************************************
I [vsi_nn_ConvertTensorToData:732]Create 1108992 data.
Verify...
Verify Graph: 387914ms or 387914622us
Start run graph [1] times...
Run the 1 time: 117ms or 117246us
vxProcessGraph execution time:
Total   117ms or 117726us
Average 117.73ms or 117726.00us
I [vsi_nn_ConvertTensorToData:732]Create 92055 data.
 --- Top5 ---
 -1: 0.000000
 -1: 0.000000
 -1: 0.000000
 -1: 0.000000
 -1: 0.000000
I [vsi_nn_ConvertTensorToData:732]Create 92055 data.
I [vsi_nn_ConvertTensorToData:732]Create 368220 data.
I [vsi_nn_ConvertTensorToData:732]Create 1472880 data.
mv: '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/network_binary.nb' and '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/network_binary.nb' are the same file
mv: '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/input_0.dat' and '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/input_0.dat' are the same file
mv: '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/output0_19_19_255_1.dat' and '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/output0_19_19_255_1.dat' are the same file
mv: '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/output1_38_38_255_1.dat' and '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/output1_38_38_255_1.dat' are the same file
mv: '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/output2_76_76_255_1.dat' and '/mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/output2_76_76_255_1.dat' are the same file
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_yolov3.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_yolov3.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_post_process.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_post_process.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_pre_process.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_pre_process.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/vnn_global.h
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/main.c
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/BUILD
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/yolov3.vcxproj
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/makefile.linux
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/.cproject
I Save vx network source file to /mnt/e/vim3/aml_npu_sdk/acuity-toolkit/conversion_scripts/nbg_unify/.project
W ----------------Warning(23)----------------

@ThinkBird 我目前还没有碰见过这种的情况,也无法调试,这个工具不开源的,我认为你的darknet文件可能有问题,参数是没问题了,我们试过很多个了。

yolov3 tiny你们也试过了吗? 结果怎么样?

@ThinkBird Tiny还没有,当时我认为在没有本质的区别,所有没有对tiny做任何尝试。以后可能会会最一个tiny的。还是有不少人有提及,但是需要时间,这段时间不行。我还是建议你先用yolov3去尝试一下,打通以后再做tiny的,这样子可以避免很多错误

@ThinkBird Hello ,yolo tiny的代码,你可以clone运行看看


这里是源码

值得注意的是这个是原始的模型,我还没有做优化,所以识别效果不是很好,fps在40到45之间

@ThinkBird 关于你上面的问题,我在转化我的yolo tiny模型的时候,输出的top5也全是0,但是最后是可用的.详细铺开解释有点麻烦,我大概理清楚了.在你转darknet模型的时候请忽略这个top5

你解决这个问题了吗,目前我用自己训练的yolov4模型做转换,最后输出的结果看起来全是错的,目前确认模型是没问题的。