我看到了转换tensorflow pb模型的指南,只给了mobilenet模型
所以我的问题是,我可以将 tensorflow inception pb 模型转换为 tflite 模型吗?
如果是,我在哪里可以获得检查点 (ckpt) 文件?我在https://github.com/tensorflow/models/tree/master/research/slim/nets中找不到它们的初始模型。
我错过了什么吗?
我看到了转换tensorflow pb模型的指南,只给了mobilenet模型
所以我的问题是,我可以将 tensorflow inception pb 模型转换为 tflite 模型吗?
如果是,我在哪里可以获得检查点 (ckpt) 文件?我在https://github.com/tensorflow/models/tree/master/research/slim/nets中找不到它们的初始模型。
我错过了什么吗?
是的,您还应该能够将初始模型转换为 TFLITE。如果图形尚未冻结,您只需要检查点。如果图表已经被冻结(我假设),您应该能够使用以下命令对其进行转换:
bazel run --config=opt //tensorflow/contrib/lite/toco:toco -- \
--input_file=**/path/to/your/graph.pb** \
--output_file=**/path/to/your/output.tflite** \
--input_format=TENSORFLOW_GRAPHDEF \
--output_format=TFLITE \
--inference_type=FLOAT \
--input_shape=1,299,299,3 \
--input_array=**your_input** \
--output_array=**your_final_tensor**
(您必须将星号之间的文本替换为适用于您的案例的参数;例如 --inputs=Mul)
关于 --inputs=Mul 的注意事项 Inception v3 中使用的一些 TF 命令不受 TFLITE 支持(decodejpeg、expand_dims),因为它们通常不必被手机上的模型采用(这些任务直接在应用程序代码)。因此,您必须使用 TF Lite 定义要挂接到图中的位置。
如果不使用 input_array,您可能会收到以下错误消息:
标准 TensorFlow Lite 运行时不支持模型中的某些运算符。如果您有他们的自定义实现,您可以使用 --allow_custom_ops 禁用此错误。以下是您需要自定义实现的运算符列表:DecodeJpeg、ExpandDims。
我希望我能帮助你。我只是在努力转换重新训练的图表。