我使用定製模型進行張量流相機演示中的分類。 我生成了一個.bp文件,我可以顯示它包含的巨大圖形。 向該圖表轉換爲優化的曲線圖,如在[https://www.oreilly.com/learning/tensorflow-on-android]給出,以下過程可用於:給出張量流模型圖,如何找到輸入節點和輸出節點名稱
$ bazel-bin/tensorflow/python/tools/optimize_for_inference \
--input=tf_files/retrained_graph.pb \
--output=tensorflow/examples/android/assets/retrained_graph.pb
--input_names=Mul \
--output_names=final_result
這裏如何找到從圖形顯示的input_names和output_names。 當我不使用專有名詞,我得到設備崩潰:
E/TensorFlowInferenceInterface(16821): Failed to run TensorFlow inference
with inputs:[AvgPool], outputs:[predictions]
E/AndroidRuntime(16821): FATAL EXCEPTION: inference
E/AndroidRuntime(16821): java.lang.IllegalArgumentException: Incompatible
shapes: [1,224,224,3] vs. [32,1,1,2048]
E/AndroidRuntime(16821): [[Node: dropout/dropout/mul = Mul[T=DT_FLOAT,
_device="/job:localhost/replica:0/task:0/cpu:0"](dropout/dropout/div,
dropout/dropout/Floor)]]
Hi @ Dr.SantleCamilus,您是否有解決方案? –
是的,提及正確的輸入和輸出節點名稱是android TF演示工作的基礎,一些較早的TF訓練代碼可能不會在模型中包含這些名稱。如果沒有名字,需要遷移到新的TF訓練代碼以包含正確的節點名稱 –
我得到這樣的輸出* [u'image_tensor => Placeholder' ] * –