天天看點

《面向機器智能的TensorFlow實踐》一 1.6 何時使用TensorFlow

本節書摘來自華章出版社《面向機器智能的tensorflow實踐》一書中的第1章,第1.6節,作者 山姆·亞伯拉罕(sam abrahams)丹尼亞爾·哈夫納(danijar hafner)[美] 埃裡克·厄威特(erik erwitt)阿裡爾·斯卡爾皮内裡(ariel scarpinelli),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

1.6 何時使用tensorflow

下面介紹一些tensorflow的用例。一般而言,對于大多數機器學習任務,tensorflow都是一個很好的選擇。下面簡單列出了tensorflow尤其适合的一些場合。

研究、開發和疊代新的機器學習架構。由于tensorflow極為靈活,是以在建構新穎的、測試較少的模型時非常有用。而使用某些庫時,使用者隻能擷取對實作原型有幫助的具有較強剛性的預模組化型,而無法對其進行修改。

将模型從訓練直接切換到部署。如前所述,tensorflow serving使使用者可實作訓練到部署的快速切換。是以,在建立依賴于機器學習模型的産品時,使用tensorflow便可實作快速疊代。如果你的團隊需要保持較快的開發進度,或者你隻是沒有用c++、java等語言重新實作某個模型的資源,tensorflow可賦予你的團隊快速實作産品的能力。

實作已有的複雜架構。一旦使用者掌握了如何閱讀可視化的計算圖,并使用tensorflow來進行建構,他們便有能力用tensorflow實作最新的研究文獻中所描述的模型。在建構未來的模型,或甚至在對使用者的目前模型進行嚴謹的改進時,這種能力可提供非常有價值的見解。

大規模分布式模型。在面對多種裝置時,tensorflow表現出卓越的向上可擴充性。它已經開始在谷歌内部的各個項目中逐漸取代distbelief。随着最近分布式運作時的釋出,我們将看到越來越多的将tensorflow運作于多台硬體伺服器和雲端虛拟機的用例。

為移動/嵌入式系統建立和訓練模型。雖然tensorflow主要關注向上的擴充(scaling up),對于向下的擴充(scaling down),它同樣有優異的表現。tensorflow的靈活性之一展現在它可輕松擴充到計算性能不高的系統中。例如,它可在安卓裝置以及像樹莓派(raspberry

pi)這樣的微型計算機中運作。tensorflow代碼庫中包含了一個在安卓系統中運作預訓練模型的例程。

繼續閱讀