當前位置:
首頁 > 知識 > 使用Tensorflow實現在瀏覽器上的深度學習

使用Tensorflow實現在瀏覽器上的深度學習

在最近的TensorFlow Dev Summit 2018大會上,Google宣布發布Tensorflow.js,這是用Javascript實現的開源深度學習框架Tensorflow。Tensorflow.js可以實現在瀏覽器中直接訓練模型,通過使用WebGL JavaScript API獲得更快的計算速度。

Tenforflow.js是由2017年8月Google發布的Javascript庫deeplearn.js演化而來的。Deeplearn.js誕生於Tensorflow Playground這款由TypeScript編寫的互動式可視化神經網路的大成功背景之下。

Tensorflow.js共有四層:WebGL API實現GPU支持的數字運算,web瀏覽器提供用戶交互以及兩款API:Core和Layers。低層的Core API對應於之前的deeplearn.js庫。它提供了硬體加速線性代數運算操作,以及eager API實現自動微分服務。高層的Layers API在Core API 之上搭建機器學習模型。Layers API在Keras的基礎上構建,實現了相似的功能。它同時支持引入之前用Keras或TensorFlow SavedModels通過python訓練的模型,以推論或轉移瀏覽器中的學習內容。

使用Tensorflow.js,可以通過三種方法將機器學習模型運用到瀏覽器中:引入已經預先訓練過的模型,僅僅用來推論;在瀏覽器中直接訓練模型;或是通過遷移學習先將引入的模型使用於用戶環境中,之後再使用這些改進的模型進行推論。

Tensorflow團隊成員Nikhil Thorat和Daniel Smilkov在發布的視頻中告訴我們,在瀏覽器中運行Tensorflow有幾個優勢:由於後台API需求不再有,因此需求得到了簡化;由於新設備的增加,可用的數據越來越多,比如電腦的攝像頭和麥克風以及移動設備的GPS和陀螺儀等設備都可以提供數據;數據始終保留在客戶端,也解決了隱私安全方面的問題。

基於Javascript的深度學習降低了許多web開發人員進入數據科學領域的門檻。他們可以將機器學習的功能整合到應用程序中,給數據科學領域帶來更多創新方法。在線演示中展示了如何通過直接在瀏覽器中運行機器學習提升交互的速度和質量,演示內容包括情感分析、手勢檢測或風格轉變。

目前,已經存在幾個類似的Javascript實現深度學習的框架,比如最早的brain.js項目,以及斯坦福大學卷積神經網路的ConvNet.js庫,還有最近的KerasJS和TensorFire庫。然而,這些庫既缺少利用瀏覽器WebGL組件實現基於GPU的運算,又不可以直接在瀏覽器中訓練模型。最近基於Tensorflow.js的項目,科學計算Propel和機器學習ml5就不會碰到這些問題。

Tensorflow團隊目前的工作重點是讓TensorFlow.js支持Node.js,但還沒有具體的時間表告訴我們什麼時候可以實現。在TensorFlow Dev大會上還宣布了其他幾項有關於Tensorflow的開發,包括TensorFlow for Swift將在2018年4月發布,以及TensorFlow Hub,「這是一個分享不同預製模塊的庫,開發人員可以跨多個模型復用它們」。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux資訊速推 的精彩文章:

教你認識Linux 各發行版之間的聯繫和區別

TAG:Linux資訊速推 |