在Android上跑TensorFlow之接入TensorFlow
来源:互联网 发布:met.sf.json tobean 编辑:程序博客网 时间:2024/06/05 03:31
TensorFlow对移动设备的支持,挺好。
今天我们就来说说如何在Android应用中接入TensorFlow的运行框架。
在TensorFlow源码中,已经很好的包含了对支持Android运行的源码。
我们知道,要在Android中调用Native接口,需要so包和jar包(jni接口),
所以,我们先说说如何在TensorFlow源码中编译so包和jar包:
一、编译so包:
在TensorFlow源码根目录下运行:
bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so \
--crosstool_top=//external:android/crosstool \
--host_crosstool_top=@bazel_tools//tools/cpp:toolchain \
--cpu=armeabi-v7a
编译好的so包,会存在:
bazel-bin/tensorflow/contrib/android/libtensorflow_inference.so
二、编译jar包:
在TensorFlow源码根目录下运行:
bazel build //tensorflow/contrib/android:android_tensorflow_inference_java
编译好的jar包,会存在:
bazel-bin/tensorflow/contrib/android/libandroid_tensorflow_inference_java.jar
三、调用步骤:
调用的接口,都封装在TensorFlowInferenceInterface类中,在 tensorflow\contrib\android\java\org\tensorflow\contrib\android\TensorFlowInferenceInterface.java文件里
调用TensorFlow的步骤总结为这几点:加载、输入、运行、输出
1、加载:就是加载模型,生成实例。使用 loadGraph。
2、输入:就是传入参数。使用feed接口。
3、运行:就是运行推理流程。使用run接口。
4、输出:就是获取返回。使用fetch接口。
具体的实现和使用,请参见 tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java
备注:
网方源码里也有文档介绍:
tensorflow\contrib\android\README.md
- 在Android上跑TensorFlow之接入TensorFlow
- 在Android上使用Tensorflow
- 在Android上使用Tensorflow
- 在Android上使用Tensorflow资料汇总
- 学习tensorflow之mac上安装tensorflow
- 在windows上安装tensorflow
- 在windows 上安装tensorflow
- 在Mac上安装TensorFlow
- 在Windows10上安装TensorFlow
- 在Ubantu上安装tensorflow
- 在Android设备上配置TensorFlow(四)无法使用TensorFlow训练新model
- TensorFlow 在android上的Demo(1)
- Ubuntu 16.05LTS 环境下TensorFlow在android上运行
- 编译tensorflow并在Android上运行图像分类
- Tensorflow在Android上的应用(Windows、Mac、Linux)
- 在android上编译和运行python版的tensorflow
- 建造第一个Tensorflow在Android上的用例
- 使用TensorFlow在Android上进行物体检测
- 利用myeclipse生成的java web项目中没有web.xml文件怎么办
- Android Studio 减小项目文件夹的大小
- android ndk常见的问题及解决的方法
- spring实战笔记(一)
- An Introduction to SCSI Drivers
- 在Android上跑TensorFlow之接入TensorFlow
- Android webView加载数据时内存溢出问题
- leetcode 192. Word Frequency
- 网络的拓扑和算法复杂度
- 线程第一章
- Android NDK: From Elementary to Expert Episode 10
- 自动加载更多的listView
- vs2010下 转换到 COFF 期间失败: 文件无效或损坏
- C语言getchar()、getch()、scanf()对比(二)