使用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 –