【问题标题】:How to convert a retrained model to tflite format?如何将重新训练的模型转换为 tflite 格式?
【发布时间】:2018-12-15 16:29:56
【问题描述】:

我在 MobileNet 上重新训练了一个图像分类器模型,我有这些文件。

另外,我使用toco压缩再训练的模型,将模型转换为.lite格式,但我需要.tflite格式。无论如何我可以从现有文件中获取 tflite 格式吗?

【问题讨论】:

    标签: tensorflow tensorflow-lite pre-trained-model transfer-learning


    【解决方案1】:

    这是一个简单的 python 脚本,您可以使用它来将 .pb 格式的图形转换为 tflite。

    import tensorflow as tf
    
    graph_def_file = "output_graph.pb"  ##Your frozen graph
    
    input_arrays = ["input"]         ##Input Node
    output_arrays = ["final_result"] ##Output Node
    
    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)
    

    【讨论】:

      【解决方案2】:

      为了将 TensorFlow 检查点和 GraphDef 转换为 TensorFlow Lite FlatBuffer:

      1. 使用freeze_graph.py 冻结检查点和图形
      2. 使用以下方法将冻结图转换为 TensorFlow Lite FlatBuffer TOCO

      您的freeze_graph.py 命令将类似于以下内容:

      freeze_graph -- \
      --input_graph=output_graph.pb \
      --input_binary=true \
      --input_checkpoint=checkpoint \
      --output_graph=frozen_graph.pb \
      --output_node_names= MobilenetV1/Predictions/Softmax
      

      您可以在模型中使用TocoConverter(Python API)或tflite_convert(命令行工具)。 TocoConverter 接受 tf.Session、冻结图定义、SavedModel 目录或 Keras 模型文件。 tflite_convert 接受后三种格式。

      使用 TOCO 时,请指定带有 .tflite 扩展名的 output_file 参数。

      【讨论】:

        【解决方案3】:

        您可以将 .lite 模型重命名为 .tflite,它应该可以正常工作。 或者,使用 toco,您可以在创建输出时重命名它:

        toco \
          --input_file=tf_files/retrained_graph.pb \
          --output_file=tf_files/optimized_graph.lite \ //change this to tflite
          --input_format=TENSORFLOW_GRAPHDEF \
          --output_format=TFLITE \
          --input_shape=1,224,224,3 \
          --input_array=input \
          --output_array=final_result \
          --inference_type=FLOAT \
          --input_data_type=FLOAT
        

        【讨论】:

        • 大声笑@harshithdwivedi,在我们为 GCI 见面之前,我们在这里进行了互动。
        • 大声笑!小世界;)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-06
        • 2020-07-02
        • 2019-03-25
        相关资源
        最近更新 更多