代码之家  ›  专栏  ›  技术社区  ›  mrgloom

了解export-tflite-ssd-graph.py

  •  0
  • mrgloom  · 技术社区  · 6 年前

    Here 是关于在Mobilenet+SSD使用时将其转换为tflite的教程 export_tflite_ssd_graph.py ,据我所知,此自定义脚本用于支持 tf.image.non_max_suppression 操作。

    export CONFIG_FILE=gs://${YOUR_GCS_BUCKET}/data/pipeline.config
    export CHECKPOINT_PATH=gs://${YOUR_GCS_BUCKET}/train/model.ckpt-2000
    export OUTPUT_DIR=/tmp/tflite
    
    python object_detection/export_tflite_ssd_graph.py \
    --pipeline_config_path=$CONFIG_FILE \
    --trained_checkpoint_prefix=$CHECKPOINT_PATH \
    --output_directory=$OUTPUT_DIR \
    --add_postprocessing_op=true
    

    但我想知道 pipeline.config 以及如果使用自定义模型(例如 FaceBoxes )使用 tf.image.non_max_抑制 手术?

    0 回复  |  直到 6 年前
        1
  •  1
  •   danyfang    6 年前

    主要目标 export_tflite_ssd_graph.py 将训练检查点文件导出到冻结图中,以便以后用于传输学习或直接推理(因为它们包含模型结构信息和训练权重信息)。事实上 model zoo 是这样生成的冻结图。

    至于 tf.image.non_max_suppression , export_tflite_ssd_graph.py导出 不用于“支持”它,但如果 --add_postprocessing_op 已设置 true 将有另一个自定义op节点添加到冻结图中,此自定义节点将具有类似于op的功能 tf.image.non_max_抑制 . 见参考文献 here .

    最后 pipeline.config 文件直接对应于中用于培训的配置文件( --pipeline_config_path ),它是它的副本,但通常具有修改的分数阈值(请参见说明 here 关于 管道配置 ,因此,如果使用自定义模型,则必须在培训之前创建它。要创建自定义配置文件, here 是官方教程。