zoukankan      html  css  js  c++  java
  • object detection模型转换成TensorFlow Lite,在Android应用

    环境

    tensorflow = 1.12.0
    bazel = 0.18.1
    ubuntu = 16.04
    python = 3.6.2

    安装 bazel (0.18.1)

    如果tensorflow是1.12.0,那么必须安装指定版本0.18.1的bazel,不然会出现很多的错误无法解决。

    wget https://github.com/bazelbuild/bazel/releases/download/0.18.1/bazel-0.18.1-installer-linux-x86_64.sh
    chmod +x bazel-0.18.1-installer-linux-x86_64.sh
    ./bazel-0.18.1-installer-linux-x86_64.sh --user

    下载tensorflow工程代码

    git clone https://github.com/tensorflow/tensorflow.git

    编译转换工具

    cd tensorflow/   
    bazel build tensorflow/python/tools:freeze_graph
    bazel build tensorflow/contrib/lite/toco:toco

    生成tflite_graph.pb文件

    cd models/research/object_detection

    python export_tflite_ssd_graph.py 
    --pipeline_config_path=data/ssd_mobilenet_v1_coco.config 
    --trained_checkpoint_prefix=data/training/model.ckpt-28189 
    --output_directory=data/output 
    --add_postprocessing_op=true

    利用bazel生成tflite文件

    bazel-bin/tensorflow/contrib/lite/toco/toco 
    --input_file=tflite_graph.pb 
    --output_file=detect.tflite 
    --input_shapes=1,300,300,3 
    --input_arrays=normalized_input_image_tensor 
    --output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3' 
    --inference_type=QUANTIZED_UINT8 
    --mean_values=128 
    --std_values=128 
    --change_concat_input_ranges=false 
    --default_ranges_min=0 
    --default_ranges_max=6 
    --allow_custom_ops

    在Android上测试

    在下面的目录中有tensorflow lite的例子,可以替换原来的detect.tflite文件,修改对应的coco_labels_list.txt文件,建议改成不一样的名称,修改代码,不然运行的时候,detect.tflitecoco_labels_list.txt会重新下载,又被覆盖掉了




     
  • 相关阅读:
    Json对象与Json字符串互转(4种转换方式)
    Web.config配置文件详解
    jQuery BlockUI Plugin Demo 6(Options)
    jQuery BlockUI Plugin Demo 5(Simple Modal Dialog Example)
    jQuery BlockUI Plugin Demo 4(Element Blocking Examples)
    jQuery BlockUI Plugin Demo 3(Page Blocking Examples)
    jQuery BlockUI Plugin Demo 2
    <configSections> 位置引起的错误
    关于jQuery的cookies插件2.2.0版设置过期时间的说明
    jQuery插件—获取URL参数
  • 原文地址:https://www.cnblogs.com/cnugis/p/11205860.html
Copyright © 2011-2022 走看看