转换自己的YOLOV3模型。。。。。。。。。。。。。





第一步输入模型好像没问题,可以生成data和json文件,第二步量化的时候就报错,好像是TensorFlow版本上有点不太对,生成不了data、jason和quantize文件

@hyf820812029 你的模型是在哪个TF版本下训练的


用的TF,2.2.0

你是指模型的训练,不是指转换模型吗?我转换模型是在TF2.2.0进行的

@hyf820812029 模型的训练环境,如果和转化环境差别比较大,就会出这种问题

我的模型训练是直接用的darknet的代码和自己做的数据集,整个训练过程我都没用过TensorFlow,也就是这个教程,零基础入门darknet-YOLO3或YOLOv3-Tiny模型训练 。如果不是转换模型需要用到,我都没用过TensorFlow

是不是我的虚拟机,用不了TensorFlow-GPU版本导致?应该用TensorFlow-CPU版本?

@hyf820812029

这是我的环境你试试,和虚拟机和GPU没有关系

我是3.6的python和2.6的TF,你试试看

你的环境比requirements要求的少了一些

@hyf820812029 我只测试特定模型,这些库是为所有模型服务的,包括一些非转换的功能的依赖

使用你的环境测试下来也是一样,总是有这个TensorFlow错误

第一步生成.data和.json的过程,也有这个问题,但是会生成这两个文件,第二步生成不了quantize文件,中间的错误跟我原来发的错误一样

@hyf820812029 那就是你的模型问题了,你是用的原始模型么,我这边特意搭了环境测试了yolov3的官方文件

我现在试试原始的yolov3官方的,只需要把.cfg和.weights文件换成官方的,然后bash 0,bash1,bash 2,是吗?

demo/data里面的图片分辨率应该是多少?这个分辨率是由什么决定的呢?而且这个图片会在量化过程中用到,是不是我图片分辨率的分辨率错了,量化的文件也就生成不出来了

@hyf820812029 和你训练的size是一样的,你查看你自己的cfg文件。我不知道你设置的是多少。


你那边转换,是 I start tensor provider 然后就结束了吗?

@hyf820812029 我这边转换是没有问题的,三个脚本都转换成功了。

I Clean.
D Optimizing network with align_quantize, broadcast_quantize, qnt_adjust_coef, qnt_adjust_param
D Align @add_shortcut_61_148:out0 scale to [0.08629427]
D Align @concat_86_205:out0 scale to [0.08629427]
D Align @upsampling_85_204:out0 scale to [0.08629427]
D Align @add_shortcut_36_89:out0 scale to [0.09367254]
D Align @upsampling_97_230:out0 scale to [0.09367254]
D Align @concat_98_231:out0 scale to [0.09367254]
D Quantize tensor(@output_82_199:out0) with tensor(@convolution_81_198:out0)
D Quantize tensor(@output_94_225:out0) with tensor(@convolution_93_224:out0)
D Quantize tensor(@output_106_251:out0) with tensor(@convolution_105_250:out0)
I Dump net quantize tensor table to yolov3.quantize
I [TRAINER]Quantization complete.
[TRAINER]Quantization complete.
I Save net to yolov3.data
I Clean.

你使用官方的模型文件了么,还是你自己训练的

官方的文件.cfg和.weights都替换了,但是data里的图片没替换