我刚刚使用TensorFlow tutorial为自己的自定义图片创建了一个protobuf文件(.pb
文件)。
但是当我将同一个文件替换为tensorflow/examples/android/assets
中的资源文件夹并尝试构建并生成APK时,会生成APK,但是当我在Android设备中运行APK时,APK会崩溃。< / p>
如果我从Python运行classify_image
,它会给我正确的结果。
感谢任何帮助。
答案 0 :(得分:0)
由于DecodeJpeg不支持作为核心的一部分,因此您需要先将其从图表中删除。
bazel build tensorflow/python/tools:strip_unused && \
bazel-bin/tensorflow/python/tools/strip_unused \
--input_graph=your_retrained_graph.pb \
--output_graph=stripped_graph.pb \
--input_node_names=Mul \
--output_node_names=final_result \
--input_binary=true
更改此文件中的少数参数
/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageListener.java
输入大小需要为299,而不是224.您还需要将均值和标准值都更改为128.
INPUT_NAME:“Mul:0”, OUTPUT_NAME改为“final_result:0”
之后你就可以编译apk了。
祝你好运