[英]Tensorflow Retrained Model Behaves Differently on Android Device
我已經用一些自定義圖像對模型進行了重新訓練,如tensorflow for poets教程中所述。
當我使用以下命令在計算機上運行模型時, python -m scripts.label_image --graph=tf_files/retrained_graph.pb --image=tf_files/test_photos/apple.jpg
我期望它可以歸類為蘋果,並且得到正確的分類結果是:
蘋果1.0橙1.40016e-08檸檬2.19029e-09
當我將經過重新訓練的模型和標簽文件復制到android studio的資產文件夾並構建apk時,即使為模型提供相同的圖像,我也會得到不同的分類結果。
我以為問題是由anaconda和android studio的不同tensorflow版本引起的。 因此,我將tensorflow版本升級到1.7.0以構建模型,並且在android studio中tensorflow的依賴項是
compile 'org.tensorflow:tensorflow-android:+'
我也嘗試過依賴
compile 'org.tensorflow:tensorflow-android:1.7.0'
但是我收到另一個錯誤,啟動后應用立即崩潰,因此我不得不轉回
'org.tensorflow:tensorflow-android:+'
最后,即使完成了優化和量化,我也無法使其與用於移動設備的tensorflow一起使用。 移動設備和計算機上的相同圖像輸出的結果完全不同。
因此,我改為Tensorflow Lite。 使用tensorflow lite我的問題解決了。 簡短說明:Windows(尤其是toco)不支持Tensorflow lite,因此我不得不使用ubuntu。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.