将冻结的模型'.pb'文件转换为'.tflite'文件所需的参数input_arrays和output_arrays是什么?



我需要将我的.pb张量流模型与我的.cpkt文件一起转换为tflite模型,以使其在移动设备中工作。有没有直接的方法可以找出我如何找到我应该用于input_arrays和output_arrays的参数?

import tensorflow as tf
graph_def_file = "/path/to/Downloads/mobilenet_v1_1.0_224/frozen_graph.pb"
input_arrays = ["input"]
output_arrays = ["MobilenetV1/Predictions/Softmax"]
converter = tf.lite.TFLiteConverter.from_frozen_graph(
  graph_def_file, input_arrays, output_arrays)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

根据这里的官方文档:

input_arrays:用于冻结图的输入张量列表。

output_arrays:要用来冻结图的输出张量列表。

意思是,input_arrays是输入张量的列表(主要是占位符张量(。 output_arrays是将充当输出的Tensor对象的列表。

在您的情况下,您提供Tensor对象的name。需要一个实际的张量对象。

你可以通过这个例子来理解它:

x1 = tf.placeholder( dtype=tf.float32 )
x2 = tf.placeholder( dtype=tf.float32 )
y = x1 + x2
input_arrays = [ x1 , x2 ]
output_arrays = [ y ]

你可以学习找到输入和输出张量 从这里 .看到你的代码,你似乎知道张量名称,所以你可以参考这个答案。

相关内容

  • 没有找到相关文章

最新更新