APP下载
报价宝  ›  科技  › 

人工智能-Object Detection API 模型转tflite并验证

报价宝 来源:baojiabao.com 发布时间:2019-10-25 21:02:00 11月14日更新
报价宝综合消息人工智能-Object Detection API 模型转tflite并验证

最近在用TensorFlow Object Detection API训练目标检测模型,训练好的pb模型大小17.6M,用pb预测效果不错,于是想着如何在手机端执行,检视官网关于tflite的转换,网址:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_mobile_tensorflowlite.md。

预测使用的pb模型:

在主目录下的research目录执行如下:

生成预测使用的pb档案

注意里面的相关路径需要换成自己的ckpt的目录。执行完后,会看到一个名字为--output_directory指定的目录。这里为exported_graphs目录,里面包含了一个SavedModel 和frozen graph,其中的.pb档案就是预测使用的。

如上转换pb和预测过程参考我之前的文章即可。

关于tflite,需要使用如下操作:

生成frozen graph

注意第二行pipeline_config_path为你的pipeline.config目录路径,trained_config_path路径为训练好的ckpt模型档案,output_dir为tflite输出目录资料夹名字,执行完后在tflite目录会看到两个档案tflite_graph.pb and tflite_graph.pbtxt.

接下来就是转tflite了,之前尝试了其他转tflite的方式,虽然只有几行程式码,但发现一直有问题,因此按照官网要求一步一步转,这次使用TOCO转tflite,首先需要安装TensorFlow源代码并编译。。。。。切记,要不然找不到bazel目录。。。。

编译生成量化的tflite

​注意在编译后的bazel同一级目录执行,input_file为上一步生成的tflite_graph.pb档案。output_file为本次要生成的tflite档案。其他的为固定写法,如果你的模型输入不是300x300注意改input_shapes.执行完就能看到一个detect.tflite档案,该档案大小17M多,这次量化后的模型。

float型别的模型转换方式:

生成float(未量化)的tflite

​如上生成detect.tflite档案。

注意:在对比tflite和pb的一致性时,输入到tflite的图片需要进行(image-127.5)/128操作。否则模型输出结果和pb档案对不上。

这样pb档案和tflite预测的结果就能一样,不过float模型大小和pb档案差不多,而且量化的时候模型大小为0,不明白为什么量化的时候模型为量化成功原因,现在只能使用float型别的tflite

后续再讲其他转pb和tflite的方式以及验证方式。

喜欢的朋友和点选关注哦

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 电视机价格 小米手机价格 华为手机价格 红米手机价格