PS.请不要将我指向converting Keras model directly to tflite,因为我的.h5文件无法直接转换为.tflite.我以某种方式设法将我的.h5文件转换为.pb
我关注了this Jupyter笔记本,使用Keras进行面部识别.然后,我将模型保存到model.h5文件,然后使用this将其转换为冻结图model.pb.
现在我想在AndroID中使用我的tensorflow文件.为此,我需要Tensorflow lite,这需要我将模型转换为.tflite格式.
为此,我尝试遵循其官方指南here.如您所见,它需要input_array和output_array数组.如何从我的model.pb文件中获得这些内容的详细信息?最佳答案输入数组和输出数组是分别存储输入和输出张量的数组.
They intend to inform the
TFliteConverter
about the input and output tensors which will be used at the time of inference.
对于Keras模型,
输入张量是第一层的占位符张量.
input_tensor = model.layers[0].input
输出张量可以与激活函数有关.
output_tensor = model.layers[ LAST_LAYER_INDEX ].output
对于冻结图,
import tensorflow as tfgf = tf.GraphDef() m_file = open('model.pb','rb')gf.ParseFromString(m_file.read())
我们得到节点的名称,
for n in gf.node: print( n.name )
为了得到张量,
tensor = n.op
输入张量可以是占位符张量.输出张量是您使用session.run()运行的张量
对于转换,我们得到
input_array =[ input_tensor ]output_array = [ output_tensor ]
总结 以上是内存溢出为你收集整理的获取输入数组和输出数组项以将模型转换为tflite格式 全部内容,希望文章能够帮你解决获取输入数组和输出数组项以将模型转换为tflite格式 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)