Tensorflow 转换冻结模型所需的输入数组和输出数组参数是什么;。pb&x27;文件到';。tflite&x27;文件

Tensorflow 转换冻结模型所需的输入数组和输出数组参数是什么;。pb&x27;文件到';。tflite&x27;文件,tensorflow,keras,tensorflow-lite,yolo,Tensorflow,Keras,Tensorflow Lite,Yolo,我需要将我的.pbtensorflow模型与我的.cpkt文件一起转换为tflite模型,使其在移动设备中工作。有没有什么直接的方法可以找出我应该使用哪些参数来设置输入数组和输出数组 import tensorflow as tf graph_def_file = "/path/to/Downloads/mobilenet_v1_1.0_224/frozen_graph.pb" input_arrays = ["input"] output_arrays = ["MobilenetV1/Pre

我需要将我的
.pb
tensorflow模型与我的
.cpkt
文件一起转换为
tflite
模型,使其在移动设备中工作。有没有什么直接的方法可以找出我应该使用哪些参数来设置输入数组和输出数组

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_数组
:用于冻结图形的输入张量列表

output\u数组
:用于冻结图形的输出张量列表

意思是,
input\u数组
是输入张量列表(主要是占位符张量)
output_array
是将用作输出的
Tensor
对象的列表

在本例中,您提供的是
张量
对象的
名称
。需要一个实际的张量对象

您可以通过以下示例理解:

x1 = tf.placeholder( dtype=tf.float32 )
x2 = tf.placeholder( dtype=tf.float32 )
y = x1 + x2

input_arrays = [ x1 , x2 ]
output_arrays = [ y ]
您可以学习从中查找输入和输出张量。
看到你的代码,你似乎知道张量的名称,所以你可以引用它。

那么,你的意思是我必须提供张量本身,如果名称是?非常感谢。提供张量,而不是它们的名称。此外,如果觉得有帮助,请接受答案。