使用Tensorflow 1.0.1它的优良读取优化的图表和在机器人使用TensorFlowImageClassifier.create方法量化的图表,如:如何在android中读取tensorflow内存映射图文件?
classifier = TensorFlowImageClassifier.create(
c.getAssets(),
MODEL_FILE,
LABEL_FILE,
IMAGE_SIZE,
IMAGE_MEAN,
IMAGE_STD,
INPUT_NAME,
OUTPUT_NAME);
但根据彼得看守的博客(https://petewarden.com/2016/09/27/tensorflow-for-mobile-poets/),它建议使用存储器在移动设备上映射图形以避免与内存相关的崩溃。
我建立
bazel-bin/tensorflow/contrib/util/convert_graphdef_memmapped_format \
--in_graph=/tf_files/rounded_graph.pb \
--out_graph=/tf_files/mmapped_graph.pb
memmapped图及其创建的罚款,但是当我试图加载与TensorFlowImageClassifier.create(...)的文件时,它说,文件是无效的图形文件。
在iOS中,它的确定将文件加载与
LoadMemoryMappedModel(
model_file_name, model_file_type, &tf_session, &tf_memmapped_env);
为它具有用于读取存储器映射图的方法。
所以,我猜在android中有类似的功能,但我找不到它。
有人可以指导我如何在android中加载内存映射图吗?
谢谢@Petewarden,我仍然对张量流内部结构知之甚少,但我想至少我现在有一个线索,现在从哪里开始。 –
@JPKim嘿,我有同样的问题。我有内存映射图,但我无法从android端读取它。你是否能够使用内存映射图在Android端工作? –
@BibinVelayudhan,我还没有解决问题,但我想分享我迄今为止发现的。 不知道为什么,但似乎android版本的原生库精简了,省略了memmapped文件的支持。 所以,概念是, 添加/修改JNI部分以支持memmapped env: 1)tensorflow/java/src/main/native/*。cc - >编辑tensor_jni.cc和graph_jni.cc以及其他几个可能?实现memmapped env。编辑TensorflowInferenceInterface.java –