ARM64开发板运行Tensorflow lite图片分类demo

TensorFlow Lite C++ image classification demo

编译环境:docker

编译参考:https://tensorflow.google.cn/lite/guide/build_arm64

一:编译Tensorflowlite

  1. 从github上下载tensorflow源码,
    1. 地址:https://github.com/tensorflow/tensorflow
    2. 加速下载:
      pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --upgrade tensorflow
  2. 下载tensorflow依赖库
    ./tensorflow/lite/tools/make/download_dependencies.sh
  3. 修改编译环境
    1. 修改MakeFile中的交叉编译工具为板子上专用的(我这板子用的是aarch64-linux-gnu-g++通用的arm64交叉编译工具),文件如下
    2. /home/tensorflowlite/tensorflow/tensorflow/lite/tools/make/MakeFile
    3. 或直接修改这里
  4. 编译
    ./tensorflow/lite/tools/make/build_aarch64_lib.sh
  5. 编译的结果在/home/tensorflowlite/tensorflow/tensorflow/lite/tools/make/gen/linux_aarch64/lib,这里的两个文件在图像分类demo里都要用到。
  6. 验证
    1. /home/tensorflowlite/tensorflow/tensorflow/lite/tools/make/gen/linux_aarch64/bin/minimal是集成了最精简的tensorflowlite的示例程序,copy到板子上
    2. 执行./minimal mobilenet_v1_1.0_224.tflite,运行如下图,说明编译正常
    3. 上面的tflite可以从这里下载,存到了/tmp目录下
      curl https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C /tmp
      

 二:编译图像分类demo

  1. 示例代码地址如下,有编译的README,本文演示用源码编译https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/examples/label_image
  2. 将examle/label_image目录中的源码放到自己的工程下(用的是板子的交叉编译工具)
  3. 将源码中的bitmap_helpers.cpp(cc被改成了cpp)和label_image.cpp加入makefile中
  4. 将源码中的.h头文件和依赖的头文件目录加入makefile中
  5. 将libtensorflowlite.a和libbenchmark.a(这个不能少,有依赖文件编译到这里,如delegate_provider、command_line_flags)加入makefile中
  6. 直接make,生成labelimage可执行文件,copy到板子上
  7. 执行测试指令
    ./labelimage --tflite_model mobilenet_v1_1.0_224.tflite --labels labels.txt --image grace_hopper.bmp
  8. 上面的参数部分
    1. tflite模型,下载地址:(看命令,存到了/tmp目录下)
      curl https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C /tmp
      
    2. labels.txt,下载地址:
      curl https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_1.0_224_frozen.tgz  | tar xzv -C /tmp  mobilenet_v1_1.0_224/labels.txt
      
    3. bmp图片,在tensorflow源码的这个位置
      tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp
  9. 运行结果:

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值