我剛剛進入機器學習,我一直在看TensorFlow。假設我正在構建一個使用TensorFlow和訓練有素的模型的桌面應用程序。我不明白你最終如何捆綁應用程序。您是否會以某種方式保存已訓練模型的狀態並將其包含在應用程序中,或者是否所有用戶在首次啓動應用程序時都必須自行重新訓練模型?機器學習模型如何在應用程序中加載?
1
A
回答
2
有一篇關於HBO的精彩文章:How HBO’s Silicon Valley built 「Not Hotdog」 with mobile TensorFlow, Keras & React Native。不過,它深入研究細節。
機器學習模型(如神經網絡)由其結構及其參數/權重定義。結構是由你編寫的,權重是在訓練中學習的。如果你有兩個,你可以在任何地方重新創建模型,並運行你的預測或者你正在做的任何事情。
讓我們打電話給您的用戶將運行「客戶端」的應用程序。不,客戶不必重新學習模型,除非你特別需要。培訓是一個昂貴的過程,需要大量的數據集,內存和處理能力。很多你在行動中看到的酷酷模型,比如在FaceApp或其他應用上使用的模型,可能需要幾周的時間才能完成一個龐大的羣集的培訓。更不用說他們的數據集的大小可能有很多千兆字節。
對於很多深度學習模型,即使學習權重本身可能太大,並且/或者即使執行單個正向傳遞所需的處理能力對於移動電話或筆記本電腦來說也是太多了。這就是爲什麼許多ML應用程序實際上不會將模型與應用程序一起運送,而是讓模型在服務器上運行。客戶端只需發送一個輸入並在幾秒鐘後接收輸出。這樣你可以節省一些麻煩,但是會失去離線功能,併爲託管付出相當大的代價。
因此,讓我們忘了託管模型一秒鐘,並假設你有一個小的,輕量級的模型,你想與你的應用程序一起提供。最簡單的方法是將權重存儲在一個文件中,然後將其與您的應用程序一起打包。但是當然有許多庫和工具可以幫助你。對於TF示例,請查看TensorFlow mobile:https://www.tensorflow.org/mobile/。
相關問題
- 1. 如何分辨機器學習模型的學習型
- 2. 機器學習模型如何更新?
- 3. 如何在Objective-C中使用機器學習模型CoreML
- 4. 如何在Azure機器學習上應用學習曲線
- 5. 許多機器學習模型 - 保存和加載
- 6. 如何將機器學習與Web應用程序集成?
- 7. 如何在R中保存機器學習模型
- 8. 機器學習模型測試
- 9. AWS機器學習Retrain模型
- 10. 爲大型機器學習程序遠程運行python程序
- 11. 列車的Android應用程序中使用機器學習
- 12. 機器學習形狀和類型的機器學習
- 13. 如何將我的機器學習模型用作api?
- 14. 大型機器學習
- 15. 如何將機器學習應用於模糊匹配
- 16. 機器學習在Python:scikit學習/ Pybrain
- 17. 如何在PHP中應用機器學習算法?
- 18. 如何在iOS中使用Tensorflow訓練過的機器學習模型
- 19. 如何將機器學習集成到Ruby on Rails應用程序中
- 20. 如何調試實現機器學習模型的勝利?
- 21. 如何將機器學習模型部署到現有網站
- 22. 如何優化(最小化)機器學習模型的輸出?
- 23. 如何爲python機器學習模型創建前端
- 24. 用於學習字符串模式的機器學習技術
- 25. Spark從web應用程序學習設計模型
- 26. 電子桌面應用程序與機器學習
- 27. CPLEX矩陣和機器學習應用程序的分解
- 28. 在機器學習中合併兩個模型
- 29. 如何在Java Web應用程序中使用jQuery學習AJAX
- 30. 機器學習酒會音頻應用