当前位置:   article > 正文

将pb文件转化为tflite文件_pb转tflite

pb转tflite

最近在做一个关于MobileNet的卡片识别任务,最后的目的在于把训练好的模型移植到手机端,关于的移植的步骤,网上已经讲了很多了,我就不多讲述了,这里推荐一个博客我的模型移植就是参考这里的,同时我的模型是直接通过TFhub上的MobileNet迁移学习得到的。迁移之后会生成一个pb文件,然而pb文件又不能直接使用Tensorflow-lite这一个神器,因此就必须把pb模型转化为tflite模型,在转化的时候猜到了一个坑,苦苦搜寻终于在StackOverflow上找到了解决办法,附上链接。也贴上我错误的代码:

  1. import tensorflow as tf
  2. in_path=r'D:\tmp_mobilenet_v1_100_224_classification_3\output_graph.pb'
  3. out_path=r'D:\tmp_mobilenet_v1_100_224_classification_3\output_graph.tflite'
  4. input_tensor_name='Placeholder'
  5. input_tensor_shape={'Placeholder':[1,224,224,3]}
  6. class_tensor_name='final_result'
  7. convertr=tf.lite.TFLiteConverter.from_frozen_graph(in_path,input_arrays=input_tensor_name
  8. ,output_arrays=class_tensor_name
  9. ,input_shapes=input_tensor_shape)
  10. # convertr=tf.lite.TFLiteConverter.from_saved_model(saved_model_dir=in_path,input_arrays=[input_tensor_name],output_arrays=[class_tensor_name])
  11. tflite_model=convertr.convert()
  12. with open(out_path,'wb') as f:
  13. f.write(tflite_model)

最后报错信息为

ValueError: Invalid tensors 'P''l''a''c''e''h''o''l''d''e''r' were found."

 经过检查可以发现是在

  1. input_tensor_name='Placeholder'
  2. class_tensor_name='final_result'

当中少了两个中括号,加上去之后就可以正常生成tflite模型。

正确的代码是:

  1. import tensorflow as tf
  2. in_path=r'D:\tmp_mobilenet_v1_100_224_classification_3\output_graph.pb'
  3. out_path=r'D:\tmp_mobilenet_v1_100_224_classification_3\output_graph.tflite'
  4. input_tensor_name=['Placeholder']
  5. input_tensor_shape={'Placeholder':[1,224,224,3]}
  6. class_tensor_name=['final_result']
  7. convertr=tf.lite.TFLiteConverter.from_frozen_graph(in_path,input_arrays=input_tensor_name
  8. ,output_arrays=class_tensor_name
  9. ,input_shapes=input_tensor_shape)
  10. # convertr=tf.lite.TFLiteConverter.from_saved_model(saved_model_dir=in_path,input_arrays=[input_tensor_name],output_arrays=[class_tensor_name])
  11. tflite_model=convertr.convert()
  12. with open(out_path,'wb') as f:
  13. f.write(tflite_model)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/154302
推荐阅读
相关标签
  

闽ICP备14008679号