簡體   English   中英

Tensorflow訓練模型在Android設備上的行為不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM