将冻结模型“.pb”文件转换为“.tflite”文件所需的参数 input_arrays 和 output_arrays 是什么?
What are the parameters input_arrays and output_arrays that are needed to convert a frozen model '.pb' file to a '.tflite' file?
我需要将我的 .pb
tensorflow 模型连同我的 .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)
根据官方文档here :
input_arrays
: List of input tensors to freeze graph with.
output_arrays
: List of output tensors to freeze graph with.
意思是,input_arrays
是输入张量的列表(主要是占位符张量)。 output_arrays
是将作为输出的 Tensor
个对象的列表。
在您的例子中,您提供了 Tensor
对象的 name
。需要一个实际的 Tensor 对象。
你可以通过这个例子来理解:
x1 = tf.placeholder( dtype=tf.float32 )
x2 = tf.placeholder( dtype=tf.float32 )
y = x1 + x2
input_arrays = [ x1 , x2 ]
output_arrays = [ y ]
您可以从 中学习查找输入和输出张量。
看你的代码,好像知道tensor的名字,可以参考这个.
我需要将我的 .pb
tensorflow 模型连同我的 .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)
根据官方文档here :
input_arrays
: List of input tensors to freeze graph with.
output_arrays
: List of output tensors to freeze graph with.
意思是,input_arrays
是输入张量的列表(主要是占位符张量)。 output_arrays
是将作为输出的 Tensor
个对象的列表。
在您的例子中,您提供了 Tensor
对象的 name
。需要一个实际的 Tensor 对象。
你可以通过这个例子来理解:
x1 = tf.placeholder( dtype=tf.float32 )
x2 = tf.placeholder( dtype=tf.float32 )
y = x1 + x2
input_arrays = [ x1 , x2 ]
output_arrays = [ y ]
您可以从